docs/README.txt
changeset 0 48483b0b26fa
--- /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.