diff -r 000000000000 -r 48483b0b26fa docs/README.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/README.txt Wed Mar 11 11:52:59 2015 +0100 @@ -0,0 +1,50 @@ +======================= +pyams_scheduler package +======================= + +.. contents:: + +What is pyams_scheduler? +======================== + +pyams_scheduler is a package which is part of the PyAMS framework and is targeted to the Pyramid environment. + +This package allows to define tasks which will be scheduled and run asynchronously on a regular basis. + +Scheduling is based on the APScheduler package, and tasks can be scheduled using cron-style, "at" or interval +based scheduling settings. But tasks definitions are stored in the ZODB and they can be managed easily through +a simple web interface; synchronisation between the web process and the scheduler background process is done +using ØMQ messages. + +Tasks can keep an history log in the ZODB; these logs can also be sent by mail, on each run or when errors +are detected. + + +Starting scheduler +================== + +The APScheduler process is started automatically on package include. + +The only thing you have to do is to create an application setting in your INI file, like this: + + pyams_scheduler.tcp_handler = 127.0.0.1:5555 + +This will define the address and port of the listening ØMQ process. Without this setting, the scheduler won't +be started. + + +Adding tasks +============ + +Three task types are defined into PyAMS scheduler package: + + - an URL caller task, which can be used to call any HTTP based URL + + - an SSH command task, which can be used to start local or remote commands + + - a ZODB packing task, which can be used to pack a ZODB. + +You can also register and add your own tasks, which will be added through PyAMS management interface. + +Each task as a set of common properties which are used to name the task, define the scheduling mode and reports +management and activate and schedule the task, as well as settings specific to the given task.