Skip to main content

Framework for creating and running cron jobs.

Project description

Chas

Installation

Install library through pip

pip install chas

Add decorator to function in your script called job_jobname.py (note: it must start with prefix job_) that you want to run as cron job. For example:

from chas import chas

@chas.job("08:00")
def print_hello_world():
    print("Hello, World!")

Finally, you can start up a server by running. This starts the cron scheduler, which will execute the function at given times, and also you can view and manage jobs on localhost:5000.

chas start --http-server

Command line

Chas is convenient even from running jobs from your command line. You can do

chas list

Which prints out all the registered jobs

Job                Next run             Last run             Last status
print_hello_world  22-12-2018 08:00:00  N/A                  N/A 

You can run any of these jobs by typing

chas run print_hello_world

Decorators

As already mentioned, @chas.job(time) registers a job at a particular time. There another decorator @chas.setup() which simply executes the script inside during the import time. This should be used for setting up environment variables. For example`

import os
from chas import chas

@chas.setup()
def setup_environment():
    os.environ["foo"] = "bar"

@chas.job("09:00")
def print_env_var():
    print(os.environ["foo"])

On run would print bar.

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

chas-0.3.0.tar.gz (38.1 kB view hashes)

Uploaded Source

Built Distribution

chas-0.3.0-py3-none-any.whl (42.4 kB view hashes)

Uploaded Python 3

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