Jobman offers a command line interface for efficiently managing local background jobs without the need for a resident service. Featuring retries, timeouts, durable logs, and concurrency controls, it provides essential tools for developers looking to streamline job management. Explore its flexible capabilities today.
Jobman is a powerful, daemonless command line interface designed for running and managing local background jobs efficiently. This tool enhances job execution with built-in support for retries, timeouts, logging, notifications, and more, all while eliminating the need for a persistent service.
Key Features
- Daemonless Execution: Operate without a shared service or installation of privileged components.
- Durable State: Access detailed job metadata and logs stored securely in a private directory for each user.
- Flexible Execution Policies: Customize job behavior with retries, repeated runs, backoff strategies, delayed starts, and timeouts.
- Advanced Coordination: Manage job dependencies, implement wait conditions, and control concurrency through named pools.
- Comprehensive Lifecycle Control: Enjoy full control over job statuses with commands to pause, resume, cancel, and rerun jobs, along with live input management.
- Robust Logging: Capture and manage standard output and error with options for following, rotation, and retention.
- Efficient Notifications: Utilize named notifiers and event subscriptions that ensure reliable delivery retries.
- Automation Support: Leverage stable selectors, versioned JSON output, YAML configuration, and shell completions for streamlined operations.
Documentation and Resources
For more detailed insights and guidance, visit the following resources:
- Official Jobman Documentation for a complete quickstart, installation instructions, user guides, and command references.
- Explore various topics such as common workflows, configuration references, troubleshooting, and development practices.
Jobman serves as a local, user-specific process manager, ensuring that jobs can persist even after closing a terminal or SSH session, provided the operating-system user session remains active. For backups and log management, independent strategies are recommended.
This tool is ideal for users seeking a straightforward yet powerful solution to manage background jobs without the overhead of daemon processes.
Comments
1For anyone interested in the implementation, I wrote an “Inside Jobman” series (https://ryancswallace.dev/tags/jobman/) covering detached supervision, daemonless scheduling and dependencies, timeouts, durable logs, etc.