Thanks a lot! I moved the definition of q to a separate file queue.py and added the line "from queue import q" in the main file. Now it works as expected.
Best regards On 1 Кві, 17:31, Alva Yi <[email protected]> wrote: > you should attach the global variable to a module,e.g. web > > 2009/4/1, Merlin <[email protected]>: > > > > > > > I don't want to store the data in the database, but to use the server > > memory instead. For example, I would like to have a global Queue, http > > requests will populate it and a separate thread will consume the > > contents. Here is a small example: > > > import web > > import threading > > import Queue > > > urls = ('/([0-9]*)', 'index') > > > q = Queue.Queue() > > > class index: > > def GET(self, number): > > q.put(number) > > return 'you pushed ' + number > > > if __name__ == '__main__': > > print globals() > > app = web.application(urls, globals()) > > http = threading.Thread(target = app.run) > > http.start() > > while True: > > number = q.get() > > print number > > if number == 13: > > break > > > Unfortunately, as I found out the global q variable is recreated for > > each request. Obviously, this is not what I want. Is there a way to > > use the real global variables within requests? > > > Thanks in advance > > -- > 从我的移动设备发送 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web.py" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/webpy?hl=en -~----------~----~----~----~------~----~------~--~---
