Skip to main content

ZTFY scheduler package for ZTK/ZopeApp

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 ZTK/ZopeApp based 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 and tasks running history is stored in the ZODB.

On application start, the scheduler is run in a dedicated ZeroMQ process, which is also used to handle synchronization between tasks settings and scheduler jobs.

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

Changelog

0.4.1

  • removed title from jobs list template

0.4.0

  • complete package refactoring, with tasks and scheduler jobs synchronization based on a dedicated ZeroMQ process

0.3.4

  • changed package source layout

0.3.3

  • implement ztfy.security ILocalRoleManager interface

0.3.2

  • start and stop scheduler when scheduler utility is registered or unregistered, instead of when it’s added or removed

  • remove scheduler from schedulers handler when scheduler is stopped

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.4.1.tar.gz (80.2 kB view hashes)

Uploaded Source

Built Distribution

ztfy.scheduler-0.4.1-py2.7.egg (105.2 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