follow up... one thing is not clear to me. Say a cron job should start every 10 minutes. If the actual execution of the job takes longer (say 15 minutes) what is the right thing to do? 1) Queue them (thus running every 15 minutes but the size of the queue gets longer and longer)? 2) Skip an extra ten minutes (thus running in effect only once every 20 minutes)? 3) Start them anyway (and assume they will not conflict with each other)?
I am leaning for option 3. On Feb 28, 10:22 pm, mdipierro <mdipie...@cs.depaul.edu> wrote: > I discovered a race condition problem in web2py cron. This may cause > spikes in the number of web2py processes and eat lots of memory on > your system when running multiple processes. Some of you have reported > the problem. > > I changed wsgihandler in trunk and replaced > > from gluon.contrib.wsgihooks import ExecuteOnCompletion2, > callback > application = ExecuteOnCompletion2(gluon.main.wsgibase, callback) > > with > > application = gluon.main.wsgibase > > thus disabling cron by default in this situation. > > I think this problem can be fixed by using file locks instead of the > current cron.py locking mechanisms. I am close to a solution and will > post it tomorrow. > > Massimo -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web...@googlegroups.com. To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.