On Apr 2, 2010, at 5:18 PM, mdipierro wrote:

> the process that checks for the crontab runs but it does not spawns
> additional processes if nothing to do.

Understood. But when it has something to do, if it's lightweight (like expiring 
sessions), why run another process ever?

I'm only talking about trivial tasks, but if you don't need cron functionality 
for anything but trivial tasks....

> 
> On Apr 2, 4:14 pm, Jonathan Lundell <jlund...@pobox.com> wrote:
>> On Apr 2, 2010, at 12:25 PM, AchipA wrote:
>> 
>>> There was talk about this a few months back, and I even have a dev
>>> branch that does exactly this. There *are* some concerns, that's why I
>>> have not yet submitted that to Massimo until I resolve GIL/locking/etc
>>> issues.
>> 
>> It also occurs to me that I can accomplish the same thing (though not 
>> through crontab) by expiring sessions through a model file. Touch an empty 
>> file in sessions/ to use as a timestamp, and when its mtime is more than an 
>> hour old, run the expiry logic.
>> 
>> BTW, does cron run if there's no crontab?
>> 
>> 
>> 
>>> On Apr 2, 12:07 am, Jonathan Lundell <jlund...@pobox.com> wrote:
>>>> On Apr 1, 2010, at 11:20 AM, AchipA wrote:
>> 
>>>>> Exactly, hardcron checks once a minute, softcron checks on each page
>>>>> load. The 'check' is calling a function or two and comparing a file's
>>>>> timestamp, so not *that* much more expensive.
>> 
>>>> Thanks.
>> 
>>>> In that case, I have a suggestion, perhaps not entirely thought out. If 
>>>> cron is being used only for something relatively simple, say 
>>>> expire_sessions.py, how about a kind of 'cron lite' that runs its tasks in 
>>>> the context of an application rather than spawning an entirely new 
>>>> instance of python+web2py to do the work?
>> 
>>>> At the point where softcron is invoked, at the end of a request, if we're 
>>>> running in litecron mode, process only the crontab file for the current 
>>>> app, and run the cron tasks more or less as if they were models (that is, 
>>>> exec in environment).
>> 
>>>>> On Apr 1, 7:51 pm, Jonathan Lundell <jlund...@pobox.com> wrote:
>>>>>> On Apr 1, 2010, at 10:37 AM, AchipA wrote:
>> 
>>>>>>> There is some overhead, but efficiency is a disputable term - there is
>>>>>>> certainly more overhead than hardcron, but IMO not in a way that would
>>>>>>> affect overall performance unless you're running it on a site that has
>>>>>>> hundreds of thousands of hits per day...
>> 
>>>>>> Perhaps we could change (or eliminate) the wording. How about simply 
>>>>>> 'Using softcron'?
>> 
>>>>>> I'm curious: what is the extra overhead of soft vs hard cron? Just that 
>>>>>> it does a test on each page access? I'm guessing that's pretty cheap.
>> 
>>>>>>> On Apr 1, 5:40 pm, Jonathan Lundell <jlund...@pobox.com> wrote:
>>>>>>>> Section 4.17 (cron) mentions hard vs soft cron defaults, but doesn't 
>>>>>>>> say how to override them.
>> 
>>>>>>>> Section 4.1 (cli) doesn't list --softcron
>> 
>>>>>>>> The startup message for soft cron says: 'Using softcron (but this is 
>>>>>>>> not very efficient)'
>> 
>>>>>>>> In what sense "not efficient"? I understand that the timing is less 
>>>>>>>> consistent, but is there really more overhead? softcron seems like a 
>>>>>>>> pretty reasonable choice if all you're doing it deleting expired 
>>>>>>>> sessions.


-- 
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