Skip to main content

Crawl filesystems for crontab files and schedule jobs.

Project description

cronster

https://img.shields.io/pypi/l/cronster.svg https://img.shields.io/pypi/pyversions/cronster.svg https://img.shields.io/pypi/v/cronster.svg https://img.shields.io/pypi/wheel/cronster.svg https://readthedocs.org/projects/cronster/badge/?version=latest https://travis-ci.org/florianeinfalt/cronster.svg?branch=master

Full Documentation

Installation

To install cronster, type:

$ pip install cronster

Getting Started

Install Redis

To get started with cronster, install Redis on your computer (macOS & Homebrew in this example):

$ brew install redis
$ brew services start redis

Digital Ocean has a great tutorial on how install Redis on Ubuntu.

Run the crawler

Assuming Redis is running on your machine in default configuration and you want to crawl from ~/projects, run the following command:

$ cronster_crawler -r ~/projects

The full help output explains the other options of the CLI application. It is possible to change certain parameters should Redis on a different host/port or should you want to adjust the interval between crawls:

Usage: cronster_crawler [OPTIONS]

Options:
  -r, --root TEXT           Crawling root, default: the current working directory
  -h, --cache-host TEXT     Cache host, default: localhost
  -p, --cache-port INTEGER  Cache port, default: 6379 (Redis default)
  -i, --interval INTEGER    Crawling interval, default: 2 seconds
  --help                    Show this message and exit.

Run the scheduler

Assuming Redis is running on your machine in default configuration, run the following command:

$ cronster_scheduler

The full help output explains the other options of the CLI application. It is possible to change Redis-related parameters should Redis on a different host or port:

Usage: cronster_scheduler [OPTIONS]

Options:
  -h, --cache-host TEXT     Cache host, default: localhost
  -p, --cache-port INTEGER  Cache port, default: 6379 (Redis default)
  --help                    Show this message and exit.

Write a crontab file

Write the following YAML file to ~/projects/crontab (or any other location anywhere in the hierarchy under your root location):

test_job:
    cmd: echo "Hello, World!"
    schedule: "*/5 * * * *"

You should see the job being picked up by the crawler on the next crawl and should see the scheduler run the job every five minutes.

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

cronster-0.1.1.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

cronster-0.1.1-py2.py3-none-any.whl (10.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file cronster-0.1.1.tar.gz.

File metadata

  • Download URL: cronster-0.1.1.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for cronster-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c0785def704e04a9110097dd7812d07db576fc2bf4c9269b14225d657fb3591f
MD5 0bddcc86159dc25568ec43e87a0cb8d1
BLAKE2b-256 aa6ecb30f5c63b2680a13b1cad6c08750939fbe02ae5f9812c8404c6f1f713ad

See more details on using hashes here.

File details

Details for the file cronster-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for cronster-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a1aceb7d14ce4d031c8f909512972b0f0dd7b5463da3b5b469980ab13d83cb6d
MD5 e80a1096c454fe7ca18a0f35a7164e3d
BLAKE2b-256 e214fbd2bbafa1bfee2d5105f3a332eb20fb7d2854eb1534e04dd81aa8162dd8

See more details on using hashes here.

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