Quantum
Cron-like job scheduler for Elixir.
Setup
To use Quantum in your projects, edit your mix.exs
file and add Quantum as a dependency:
defp deps do
[{:quantum, ">= 1.2.0"}]
end
Then, add Quantum to the list of applications in your mix.exs
file:
def application do
[applications: [:quantum]]
end
Usage
Configure your cronjobs in your config/config.exs
like this:
config :quantum, cron: [
"* * * * *": fn -> IO.puts("every minute") end,
"*/2 * * * *": fn -> IO.puts("every two minutes") end,
# Runs on 18, 20, 22, 0, 2, 4, 6:
"0 18-6/2 * * *": fn -> IO.puts("it's late") end,
# Runs every midnight:
"@daily": &backup/0
]
If you want to add jobs on runtime, this is possible, too:
Quantum.add_job("1 * * * *", fn -> :ok end)
Contribution Process
This project uses the C4.1 process for all code changes.
“Everyone, without distinction or discrimination, SHALL have an equal right to become a Contributor under the terms of this contract.”
tl;dr
- Check for open issues or open a new issue to start a discussion around a feature idea or a bug
- Fork the quantum-elixir repository on Github to start making your changes
- Write a test which shows that the bug was fixed or that the feature works as expected
- Send a pull request
- Your pull request is merged and you are added to the list of contributors