wiki:SchedulerPlugin

Version 2 (modified by thanos, 5 years ago) (diff)

--

A Job Scheduler plug-in for Trac

Description

The plugin lets you set up and manage and monitor scheduled jobs. It adds the following new Admin screens to Trac:

  • Job Admin - List and lets you add, edit and delete jobs.
  • Job Status Map - Where you can see the status of the last run of all the jobs. From here you can drill down to the run view of a particular job.
  • Run View - Lists all job runs, showing you the runs status form where you can drill down to the runs log.
  • Log Admin - Clean-up logs and other tasks.

Each job run environment and schedule is specified by the version of a single configuration file - a python script - in the SCM. Therefore any changes are carefully tracked. This script is used to create the snabox and invoke the job.

Bugs/Feature Requests

Existing bugs and feature requests for SchedulerPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from here.

Source

You can check out SchedulerPlugin from here using Subversion, or browse the source with Trac.

Example

Here is an example of a job configuration.

from jobplugin import JobSpec, today

from logging import DEBUG

class MyJob(JobSpec):
    """
    Run this script with logging in debug mode.
    Run every 45 minutes.
    Run /usr/local/etc/myscript at yesterday's date as a command argument.
    """
    grouping="/All Jobs/Tests"
    log_level=DEBUG
    cron="* * * 45";
    cmd ="/usr/local/etc/myscript --date=%s"; % today(-1)
    run= "runA, runB";

    def setUp(self):
        pass
    def tearDown(self):
        pass
    def runA(self): pass

    @dependsOn(runA)
    def runB(self): pass

    

MyJob.run()

You would check it in and make the Job record point to it.

Job IdLast RunStatusNext RunConfiguration
My Job 12:45 Today 13:00 Today OK http://trac-hacks.org/browser/myjob.py?rev=6077

Recent Changes

[7830] by thanos on 2010-04-08 16:58:50
New hack SchedulerPlugin, created by thanos

Author/Contributors

Author: thanos
Maintainer: thanos
Contributors: