/cronner

Yet another crontab-like replacement for Windows Task Scheduler

Primary LanguagePythonMIT LicenseMIT

travis ci build state Coverage Status

Introduction

This project is a simple replacement for the Windows Task Scheduler. It's pure Python (except for sleep), so there's no reason you couldn't use it on Linux, but there isn't much of a point to that.

The basic principle is that cron jobs and settings are stored in a JSON text file. This file is read, processed, and the results are stored each time you run the script.

Previous runs and results are stored in an SQLite database (which we call the cache). The script loads the cache and figures out whether or not a cron job should run based on the cron settings and the previous run. There is currently no service that runs in the background. You'll need to run the script each time you want to check the jobs. In other words, "run every minute" jobs are probably not want you want to use this for (although there's nothing stopping you from doing so).

Documentation

Documentation is hosted on readthedocs: cronner.readthedocs.org

Install

Releases are uploaded to pypi. You can install the latest release with pip install cronner.

You can also download the latest release tarball and install with pip install <tarball>.

Usage

To run the script, use: python -m cronner --settings-file jobs.json --cache-file cache.db --log-file log.txt

The cache file will be created if it doesn't already exist.