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.

Reply via email to