Skip to main content

This supports python 2.7 and python 3 on Unix derivatives. It has specific support for select.kqueue on MacOS and *BSD and the inotifyx bindings for Linux inotify. If neither of these facilities is available, taskforce operates in polling mode which adds some latency and processing overhead but is functionally the same.

Commands to be run are defined in a configuration file in YAML format. Let’s go straight to a quick example:

{
    "tasks": {
        "sshd": {
            "control": "wait",
            "commands": { "start": [ "/usr/sbin/sshd", "-D" ] }
        },
        "ntpd": {
            "control": "wait",
            "requires": "sshd",
            "defines": { "conf": "/etc/ntp.conf" },
            "commands": { "start": [ "/usr/sbin/ntpd", "-c", "{conf}", "-n"] },
            "events": [
                { "type": "self", "command": "stop" },
                { "type": "file_change", "path": "{conf}", "command": "stop" }
            ]
        }
    }
}

In this example, taskforce starts sshd and then starts ntpd. taskforce is set to wait on both programs and both programs are started so that they will not detach themselves. If either program exits, it will be restarted.

ntpd is run with a couple of extra features. First, it defines a tag for the configuration file name. This is convenient for when the element is used in multiple places. It also adds two events. The first fires if the executable file changes, and the second fires if the configuration file changes. The event type self is shorthand for the equivalent file_change event. In both cases, the event will cause the task to be stopped. As the task has the wait control, it will be immediately restarted.

Visit https://github.com/akfullfo/taskforce/ for more information.

Metadata

Release files for taskforce 0.6.0

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

Source distribution (sdist)

Source distribution for taskforce 0.6.0
File Size Uploaded
taskforce-0.6.0.tar.gz 63.5 kB Details

Release files / taskforce-0.6.0.tar.gz

Download URL taskforce-0.6.0.tar.gz
Size 63.5 kB
Tags Source
SHA-256 checksum
How to use checksums
72a4ba6744983c082e098a8a5d2c016a33f16c470e6e351e5b41064157f5d13f
BLAKE2b-256 checksum
How to use checksums
d223e874993bfd35e0b475f697d22c5328d57a3b88a03787483a0bed9502628b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/2.7

Release history Release notifications | RSS feed

This release

0.6.0 This release

1 release file

0.5.0

1 release file

0.4.2

1 release file

0.4.0

1 release file

0.3.14

1 release file

0.3.13

1 release file

0.3.12

1 release file

0.3.11

1 release file

0.3.10

1 release file

0.3.9

1 release file

0.3.7

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.21

1 release file

0.1.20

1 release file

0.1.19

1 release file

0.1.18

1 release file

0.1.17

1 release file

0.1.14

1 release file

0.1.12

1 release file

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