A process manager project for 42
Project description
About The Project
Taskmaster is a job control manager project for 42 school. It allows its users to control a number of processes on operating systems.
Inspired by the Supervisor
Prerequisites
Create a virtual environment using the following command:
-
venv
python3 -m venv venv && source venv/bin/activate
-
pip
pip install -r requirements.txt
or use the devcontainer provided in the repository.
Dependencies
Installation
-
From pypi
pip install 42-taskmaster
-
From source
pip install .
Usage
- Without arguments (load taskmaster.yml from current directory)
taskmaster
- With arguments
taskmaster -f /path/to/config.yml
- Without install
python -m taskmaster.taskmaster
Configuration file
email: # Optionnal
to: ""
smtp_email: ""
smtp_password: ""
smtp_server: "smtp.gmail.com"
smtp_port: 465
services:
- name: sleep
cmd: "sleep 100"
numprocs: 8 # min 1 max 32
umask: 077
workingdir: /tmp
autostart: true
autorestart: unexpected # always, never unexpected
exitcodes:
- 0
- 2
startretries: 3
starttime: 5
stopsignal: USR1
stoptime: 10
env: # Optionnal
test: "test"
stdout: ./taskmaster.yml # Optionnal (if not present don't log)
stderr: /workspaces/42-taskmaster/logs/taskmaster.log # Optionnal
# user: aaaaa # Optionnal (Downgrade privileges)
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Contributors
Nard Théo - GUI / Configuration
Lafay Timothée - Services management
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file 42_taskmaster-1.0.2.tar.gz
.
File metadata
- Download URL: 42_taskmaster-1.0.2.tar.gz
- Upload date:
- Size: 21.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b45dbfaeb449c597d5be680a00515c035444e9c3f91a4ffc79327a521015b74 |
|
MD5 | df454dac10014daa4c2fc478483d04f1 |
|
BLAKE2b-256 | 445cfd28537af3fcb6379d232ec9ddf89380c3c623742e205d1315c2b5c1aa3d |
File details
Details for the file 42_taskmaster-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: 42_taskmaster-1.0.2-py3-none-any.whl
- Upload date:
- Size: 22.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e4b393ec98580df2526128bc51c702e0ed546237e6f425b0272461428eabb1f |
|
MD5 | 7efd61bff4d85c6d3ba162049442f8b1 |
|
BLAKE2b-256 | 30fc38df405951d0cec4bd04fad2d6b38a1344a10a188d8303db0c28bb3ccf34 |