At 5am. This is the formula:

next_run_time = task.last_run_time + timedelta(seconds=task.period)



On Aug 25, 12:29 pm, Martín Mulone <mulone.mar...@gmail.com> wrote:
> I have a doubt, suppose I have a task I have to run every day, the task take
> one hour to complete and suppose I scheduled to start at 5am every day. The
> first time it's run at 5am, the next day it's run at 5am or at 6am? because
> I put period=86400sec and the prior task take 1 hour to complete.
>
> 2011/8/8 Massimo Di Pierro <massimo.dipie...@gmail.com>
>
>
>
>
>
>
>
>
>
> > ## preambole
>
> > I have been working on porting django-celery to web2py-celery.
> >http://code.google.com/p/web2py-celery
> > There are a few issues to resolve and I am working on it.
>
> > Yet I found it to be overkill for most users. It has lots of
> > dependencies (for example RabbitMQ) and it is not easy to manage. If
> > you do not need a huge number of worker nodes there may be a better
> > solution.
>
> > So  I added this to trunk:
>
> > gluon/scheduler.py
>
> > This email is a request for comments as I think this should replace te
> > current cron mechanism.
>
> > ## What is it?
> > It is a lightweight replacement for celery that uses the database
> > instead of queues to schedule tasks and uses the default web2py admin
> > interface to allow you to schedule tasks. It consists of a single file
> > and has no dependencies.
>
> > ## How does it work?
>
> > For any existing
> > app
>
> > Create File: app/models/scheduler.py
> > ======
> > from gluon.scheduler import
> > Scheduler
>
> > def
> > demo1(*args,**vars):
> >    print 'you passed args=%s and vars=%s' % (args,
> > vars)
> >    return
> > 'done!'
>
> > def
> > demo2():
>
> > 1/0
>
> > scheduler =
> > Scheduler(db,dict(demo1=demo1,demo2=demo2))
> > =====================================
>
> > Create File: app/modules/scheduler.py
> > ======
> > scheduler.worker_loop()
> > =====================================
>
> > ## run worker nodes
> > with:
> > python web2py.py -S app -M -N -R applications/app/modules/
> > scheduler.py
>
> > ## schedule jobs
> > using
> >http://127.0.0.1:8000/scheduler/appadmin/insert/db/task_scheduled
>
> > ## monitor scheduled
> > jobs
>
> >http://127.0.0.1:8000/scheduler/appadmin/select/db?query=db.task_sche...
>
> > ## view completed
> > jobs
> >http://127.0.0.1:8000/scheduler/appadmin/select/db?query=db.task_run....
>
> > Compared to celery it lacks the ability to bind tasks and workers ,
> > remotely interrupt tasks and set timeout, yet these features can be
> > added easily and I will so eventually.
>
> > Please let me know what you think.
>
> > Massimo
>
> --
>  http://martin.tecnodoc.com.ar

Reply via email to