Skip to main content

easysched

easysched is lightweight framework to easily schedule multiple tasks designed to be easily configurable by just a configuration file using default python tools.

With this framework you can call every type of executable, independent of the programming language, for instance bash/perl scripts, C/C++ programs, Java... or any other executable. Additionally, you can define the priority of a Task, which user should be the callee and if the Task should be run once or cyclic by defining the Task execution interval and if the output of a process should be logged into a file.

All of this is easily configurable with only one configuration file. The parse process is based on the configparser class of python3.X with the extended interpolation feature and enriched with additional functionality to call tasks.

Installation

You can find the latest version on PyPi. So simply use pip with

pip install easysched

After installing easysched there is a file easysched.service in the <venv>/share/ directory in order to set up easysched as a user service. Just replace the sample configuration file with the one on your system and then run

sudo systemctrl enable <venv>/share/easysched

Usage

A sample simple configuration file example.cfg can be found next to the service file with the following content:

[easysched]
Task-tag=Task:
tmp-dir=/tmp/
log-dir=${tmp-dir}

[Task:PrintDateEverySecond]
command=/bin/echo
parameters=$$(date +"%Y%m%d %H%M%S")
interval=1

[Task:PrintEveryFiveSeconds]
command=/bin/echo
parameters=$$(date +"%Y%m%d %H%M%S")
interval=5

The section for general information is named easysched so that you can use this configuration file for other scripts, too. You can define where to save log files with the log-dir and temporary file with the tmp-dir attribute.

The Task-tag option in the easysched section is optional - by default the tag Task: is assumed to be the section tag for defining tasks. Feel free to change this to your needs.

For attributes defined in the config files ending with -dir, the directories will be created by easysched. You don't have to create them manually.

Start easysched

In order to run the easysched deamon with the example configuration given above, simply run

esdd --config=venv/share/example.cfg

Control easysched tasks

Now that easysched is running it waits for commands to start, pause, stop or terminate a Task. In order to send easysched such commands, use the easysched control tool esdctrl.

For instance, to start the task PrintEveryFiveSeconds in the example configuration, run the following command:

esdctrl task PrintEveryFiveSeconds start

Metadata

Release files for easysched 1.2.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for easysched 1.2.9
File Interpreter ABI Platform Actions
easysched-1.2.9-py3-none-any.whl Python 3 none any Details for easysched-1.2.9-py3-none-any.whl

Release files / easysched-1.2.9-py3-none-any.whl

Download URL easysched-1.2.9-py3-none-any.whl
Size 39.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4c09ca69f42461e5576473e5c57f228f92b061da5e146b923b1c6b4d31f59b0d
BLAKE2b-256 checksum
How to use checksums
86fd901cb70adce2d66d8a76a4526203edcaaa2c4f83e54803a79695cd23416d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.5.2

Security for easysched 1.2.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.2.9 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page