I am assuming there is a single ser object for ALL users. indefinite=10*10 ser = cache.ram("ser+, serial.Serial(0,9600), indefinite)
def index(): ## open COM port on initial page load return dict() ## each ajax request polls until is reads, returns read ## another poll request is immediately kicked off def poll(): while True: curCode = ser.read(1) if curCode: n = ser.inWaiting() curCode += ser.read(n) return curCode ## catch page unload and cleanly close connection to serial port def close(): ser.close(); cache.ram('ser',None,0) # delete it from cache (0 is now!) On Oct 28, 10:49 am, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > Thanks Massimo. > > If I use cache.ram how can different functions in a controller access > the cached object? Also, is there anyway to specify what happens to > an object with it "expires". In my case it'll be best to close the > connection before it is destroyed. > > for example: > > def index(): > ## open COM port on initial page load > ser = cache.ram("ser", serial.Serial(0,9600), 5000) ## can this > timeout be indefinite? > > ## each ajax request polls until is reads, returns read > ## another poll request is immediately kicked off > def poll(): > while True: > curCode = ser.read(1) > if curCode: > n = ser.inWaiting() > curCode += ser.read(n) > return curCode > > ## catch page unload and cleanly close connection to serial port > def close(): > ser.close(); --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---