Hi Alan, I have tried to decorate two functions. But it notwork as I expected. Name of the application: queuetest, controller: default.py:
from Queue import * @service.run def pp(): # Producer q.put(request.now.isoformat()) return dict(size=q.qsize()) @service.run def cc(): # Consumer s = q.get() return dict(time=s, size=q.qsize()) @service.run def pc(): # call producer two times, consumer once return [pp(), pp(), cc()] And in db.py: from Queue import * q=Queue() A call of http://127.0.0.1:8000/queuetest/default/call/run/pc returns: [{'size': 1}, {'size': 2}, {'size': 1, 'time': '2011-12-04T13:30:33.283000'}] That's ok. But I think the next call creates a NEW queue, starting with size 1 [{'size': 1}, {'size': 2}, {'size': 1, 'time': '2011-12-04T13:33:45.126000'}] What shall I do to have ONE queue? Regards, martin 2011/12/2 Alan Etkin <spame...@gmail.com> > Depending on the type of data maybe you could use web2py services > interface. > > First you define the set/get actions in some of the apps and decorate > them as services. Then from any application you can consume this > services for data transactions. > > The web2py book covers services and RPC in 9th chapter > > > Apps can share session objects too and you could store a sequence on a > common session: > (web2py chapter 4) > "...One app can load the session of another app using the command: > 1 > session.connect(request, response, masterapp='appname', db=db) > > Here "appname" is the name of the master application, the one that > sets the > initial session_id in the cookie. db is a database connection to the > database > that contains the session table (web2py_session). All apps that share > sessions > must use the same database for session storage. " > > > On Dec 1, 6:06 pm, Martin Weissenboeck <mweis...@gmail.com> wrote: > > Hi, > > > > I want to use one and only one queue (q). > > > > Some applications/controllers should act as producers (q.put(item)) and > > some applications/controllers as consumers (item=q.get()), but with only > > one queue. > > > > How can this be done? > > > > Regards, Martin >