http://code.google.com/appengine/docs/python/taskqueue/
On Nov 20, 7:29 pm, Phyo Arkar <[email protected]> wrote: > 2) could be a compatibility layer on top of google's task queue. > > google's task queue? on GAE? > > for many orginizations and companys , GAE or any other public clouds are not > an option. They want their sensitive data to be private, and paranoid to go > it online. The firm i am working on is building their own private cloud and > for their clients. My extractor will also need to run over it too , later. > > So many private or goverment organisation , they will want non public cloud > related technologies. > > On Sun, Nov 21, 2010 at 7:49 AM, Phyo Arkar <[email protected]>wrote: > > > For my problem i have to use multiprocessing + Queue is: > > > I am developing a file indexer for a Digital Forensic Firm which extract > > huge archive of files , pst (ms Outlook archives), Read them . parse them , > > extract Mime and Indexable text out of many different type of documents , as > > much as possible. And put them into the database for later indexing by > > search engine. > > > Target is to process over 10GB of files at once. > > > When we tested 800MB archives, takes over 20 mins (without multiprocessing) > > . > > > machine is dual Core2 8GB DDR > > > Problems are , > > 1. it stop web2py's from responding both normal requests and ajax requests > > , that makes it impossible for showing progress to user. > > 2. it also stops Rocket's Keealive responds for 20 mins , making browser > > think its dead > > > my solution is to separate all processing out into a separate python > > process, spawn it via subprocess.Popen , without waiting it to end. > > > With that i can use multiprocessing module to spread loads across 4 > > processess , without bombarding web2py. > > With that web2py can function welll.The process is running at background. > > and with Ajax i can make a progress bar by checking the progress report of > > the separated process. > > > Problem there are : > > > 1. As it is outside of web2py theres no way of knowing if there error > > occoured, unless i monitoring the output of web2py process. > > 2. The way to communicate back to web2py is via files. I wrote process > > progress or error to 4 different files , which ajax requests monitor them > > for progress. > > 3. Between 4 processes it is easy to communicate parsed results via > > multiprocessing Queue , but as it is outside of web2py scope , cannot > > communicate using Queue > > 4. Also DAL have to be use as outside of web2py to put back results into > > database , and its ugly. > > > If tasks and ques of celery are integrated , there will be many benefits. > > Can easily load balance across multiple machines too. and communicate to and > > fro easily. > > > On Sun, Nov 21, 2010 at 6:06 AM, mdipierro <[email protected]>wrote: > > >> If we here to integrate a queue functionality in web2py what features > >> would you consider most valuable? > > >> I can three different applications: > >> 1) a message queue (one app sends a message, another one receives it) > >> 2) a task queue (an app can submit a task to be executed later): task > >> is executed by a remote process (or cloud) > >> 3) a task queue: task is executed by the app itself (in a separate > >> thread) but triggered by a queue callback. > > >> There is some overlap but they are subject to different optimizations. > >> 2) could be a compatibility layer on top of google's task queue. > >

