Skip to main content

ZTFY scheduler package for Zope3

Project description

What is ztfy.scheduler ?

ztfy.scheduler is a base package for those which need to build scheduled tasks which can run inside a Zope3/Bluebream environment (ZEO is required !). These tasks can be scheduled:

  • on a cron-style base,

  • at a given date/time (like the “at” command)

  • or at a given interval.

Scheduling is done through the APScheduler (http://packages.python.org/APScheduler/) package and so all these kinds of tasks can be scheduled with the same sets of settings. But tasks management is made through a simple web interface.

Locks management allows the scheduler to be integrated in a multi-process environment (via file locks) or in a multi-hosts environment (via memcached locks), without the problem of tasks being run simultaneously by several processes.

Tasks logs can be stored in the ZODB for a variable duration (based on a number of iterations). These log reports can also be sent by mail, on each run or only when errors are detected.

How to use ztfy.scheduler ?

A set of ztfy.scheduler usages are given as doctests in ztfy/scheduler/doctests/README.txt

Known bugs

  • Sometimes, deleting a task doesn’t delete the matching job and the whole scheduler have to be restarted, generally via a whole server shutdown and restart.

Changelog

0.3.1

  • update ShelveJobStore to take care of specific file systems configurations, because sometimes shelve modification time is not updated when “sync()” is called. From now on jobs configuration timestamp is stored in shelve and a blocking file lock is used to prevent concurrent modifications in it. At least it seems to work on Linux, any feedback concerning other OS is still welcome…

0.3.0

  • refactoring to follow last releases of ztfy.skin and ztfy.jqueryui packages

  • redefined interfaces so that tasks scheduling mode (cron-style, interval-style…) can be defined on a per-task basis and is not bound to the task class; new scheduling modes can also be added via registered utilities

  • store tasks execution log in tasks history

  • add an “URL getter” task, which can be used to call a remote “management” URL on periodic basis

  • add username/password/realm to ZEO connections

  • modify ZODB packer task to be able to pack another remote database instead of only those to which scheduler is defined

  • improved handling of transactions and conflict errors

0.2.2

  • changed ISite package import

0.2.1

  • updated database automatic upgrade code

0.2

  • migrated to ZTK-1.1

  • integrated ZODBPackerTask (moved from ztfy.blog package)

0.1

  • initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ztfy.scheduler-0.3.1.tar.gz (38.8 kB view hashes)

Uploaded Source

Built Distribution

ztfy.scheduler-0.3.1-py2.6.egg (103.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page