taskmaster | program must be able to start jobs

 by   0xdeafbeef Rust Version: Current License: No License

kandi X-RAY | taskmaster Summary

kandi X-RAY | taskmaster Summary

taskmaster is a Rust library. taskmaster has no bugs, it has no vulnerabilities and it has low support. You can download it from GitHub.

Your program must be able to start jobs as child processes, and keep them alive, restarting them if necessary. It must also know at all times if these processes are alive or dead (This must be accurate). Information on which programs must be started, how, how many, if they must be restarted, etc... will be contained in a configuration file, the format of which is up to you (YAML is a good idea, for example, but use whatever you want). This configuration must be loaded at launch, and must be reloadable, while taskmaster is running, by sending a SIGHUP to it. When it is reloaded, your program is expected to effect all the necessary changes to its run state (Removing programs, adding some, changing their monitoring conditions, etc ...), but it must NOT de-spawn processes that haven’t been changed in the reload. Your program must have a logging system that logs events to a local file (When a program is started, stopped, restarted, when it dies unexpectedly, when the configuration is reloaded, etc ...) When started, your program must remain in the foreground, and provide a control shell to the user. It does not HAVE to be a fully-fledged shell like 42sh, but it must be at the very least usable (Line editing, history... completion would also be nice). Take inspiration from supervisor’s control shell, supervisorctl. This shell must at least allow the user to: • See the status of all the programs described in the config file ("status" command) • Start / stop / restart programs • Reload the configuration file without stopping the main program • Stop the main program The configuration file must allow the user to specify the following, for each program that is to be supervised: • The command to use to launch the program • The number of processes to start and keep running • Whether to start this program at launch or not • Whether the program should be restarted always,never, or on unexpected exits only • Which return codes represent an "expected" exit status • How long the program should be running after it’s started for it to be considered "successfully started" • How many times a restart should be attempted before aborting • Which signal should be used to stop (i.e. exit gracefully) the program • How long to wait after a graceful stop before killing the program • Options to discard the program’s stdout/stderr or to redirect them to files • Environment variables to set before launching the program • A working directory to set before launching the program • An umask to set before launching the program. • Privilege de-escalation on launch (Needs to be started as root, so you would need a VM for this ...) • Client/server archictecture to allow for two separate programs : A daemon, that does the actual job control, and a control program, that provides a shell for the user, and communicates with the daemon over UNIX or TCP sockets. (Very much like supervisord and supervisorctl) • More advanced logging/reporting facilities (Alerts via email/http/syslog/etc...) • Allow the user to "attach" a supervised process to its console, much in the way that tmux or screen do, then "detach" from it and put it back in the background.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              taskmaster has a low active ecosystem.
              It has 1 star(s) with 0 fork(s). There are 1 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              taskmaster has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of taskmaster is current.

            kandi-Quality Quality

              taskmaster has no bugs reported.

            kandi-Security Security

              taskmaster has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              taskmaster does not have a standard license declared.
              Check the repository for any license declaration and review the terms closely.
              OutlinedDot
              Without a license, all rights are reserved, and you cannot use the library in your applications.

            kandi-Reuse Reuse

              taskmaster releases are not available. You will need to build from source code and install.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of taskmaster
            Get all kandi verified functions for this library.

            taskmaster Key Features

            No Key Features are available at this moment for taskmaster.

            taskmaster Examples and Code Snippets

            No Code Snippets are available at this moment for taskmaster.

            Community Discussions

            No Community Discussions are available at this moment for taskmaster.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install taskmaster

            You can download it from GitHub.
            Rust is installed and managed by the rustup tool. Rust has a 6-week rapid release process and supports a great number of platforms, so there are many builds of Rust available at any time. Please refer rust-lang.org for more information.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/0xdeafbeef/taskmaster.git

          • CLI

            gh repo clone 0xdeafbeef/taskmaster

          • sshUrl

            git@github.com:0xdeafbeef/taskmaster.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Consider Popular Rust Libraries

            996.ICU

            by 996icu

            deno

            by denoland

            rust

            by rust-lang

            alacritty

            by alacritty

            tauri

            by tauri-apps

            Try Top Libraries by 0xdeafbeef

            axum-jrpc

            by 0xdeafbeefRust

            MaxPatrolParser

            by 0xdeafbeefPython

            pyever

            by 0xdeafbeefRust

            angrypot

            by 0xdeafbeefRust

            ansible-rs

            by 0xdeafbeefRust