Home
Softono
JobSchedulers.jl

JobSchedulers.jl

Open source MIT Julia
61
Stars
7
Forks
1
Issues
1
Watchers
1 week
Last Commit

About JobSchedulers.jl

A Julia-based job scheduler and workload manager inspired by Slurm, PBS and Crontab.

Platforms

Web Self-hosted

Languages

Julia

Links

JobSchedulers.jl Logo

JobSchedulers.jl

A Julia-based job scheduler and workload manager inspired by Slurm/PBS and Crontab.

codecov

Why JobScheduler?

We may find different tasks or programs use different CPU and memory. Some can run simultaneously, but some have to run sequentially. JobScheduler is stable, useful and powerful for task queuing and workload management, inspired by Slurm/PBS and Crontab.

Rich Features

  • Job and task scheduler.

  • Local workload manager.

  • CPU, memory and run time management.

  • Deferring a job until specific jobs reach specific states (dependency).

  • Running a job at specific time, or a period after creating (schedule).

  • Job-dependent stdout and stderr. Yes, global stdout and stderr are thread-safe with this package!

  • Recurring/repetitive jobs using Cron-like schedule expressions.

  • Automatic backup and reload.

  • Minimum overhead: from creation to destory, a job only takes extra 1-2 µs.

  • Fancy progress meter in terminal.

    progress meter

Installation

JobSchedulers.jl can be installed using the Julia package manager. From the Julia REPL, type ] to enter the Pkg REPL mode and run

pkg> add JobSchedulers

To use the package, type

using JobSchedulers

Documentation

  • STABLEdocumentation of the most recently tagged version.
  • DEVELdocumentation of the in-development version.

Video

This work was presented at JuliaCon 2023 as "J Chuan, X Li. Pipelines & JobSchedulers for Computational Workflow Development."

You can watch the presentation here: