Khafra.Scheduler (khafra_search v0.2.1)
Defines a quantum Scheduler.
When used, the quantum scheduler expects the :otp_app as option.
The :otp_app should point to an OTP application that has
the quantum runner configuration. For example, the quantum scheduler:
defmodule Khafra.Scheduler do
use Quantum.Scheduler, otp_app: khafra_search
endCould be configured with:
config khafra_search, Khafra.Scheduler,
jobs: [
{"@daily", {Backup, :backup, []}},
]Configuration:
:timeout- Sometimes, you may come across GenServer timeout errors esp. when you have too many jobs or high load. The default GenServer.call timeout is 5000.:jobs- list of cron jobs to execute:global- When you have a cluster of nodes, you may not want same jobs to be generated on every single node, e.g. jobs involving db changes.In this case, you may choose to run Quantum as a global process, thus preventing same job being run multiple times because of it being generated on multiple nodes. With the following configuration, Quantum will be run as a globally unique process across the cluster.
:schedule- Default schedule of new Job:run_strategy- Default Run Strategy of new Job:overlap- Default overlap of new Job,:timezone- Default timezone of new Job
Link to this section Summary
Functions
Callback implementation for Quantum.Scheduler.activate_job/2.
Callback implementation for Quantum.Scheduler.add_job/2.
Callback implementation for Quantum.Scheduler.config/1.
Callback implementation for Quantum.Scheduler.deactivate_job/2.
Callback implementation for Quantum.Scheduler.delete_all_jobs/1.
Callback implementation for Quantum.Scheduler.delete_job/2.
Callback implementation for Quantum.Scheduler.find_job/2.
Callback implementation for Quantum.Scheduler.jobs/1.
Callback implementation for Quantum.Scheduler.new_job/1.
Callback implementation for Quantum.Scheduler.start_link/1.
Callback implementation for Quantum.Scheduler.stop/2.
Link to this section Functions
activate_job(server \\ __job_broadcaster__(), name)
Callback implementation for Quantum.Scheduler.activate_job/2.
add_job(server \\ __job_broadcaster__(), job)
Callback implementation for Quantum.Scheduler.add_job/2.
config(custom \\ [])
Callback implementation for Quantum.Scheduler.config/1.
deactivate_job(server \\ __job_broadcaster__(), name)
Callback implementation for Quantum.Scheduler.deactivate_job/2.
delete_all_jobs(server \\ __job_broadcaster__())
Callback implementation for Quantum.Scheduler.delete_all_jobs/1.
delete_job(server \\ __job_broadcaster__(), name)
Callback implementation for Quantum.Scheduler.delete_job/2.
find_job(server \\ __job_broadcaster__(), name)
Callback implementation for Quantum.Scheduler.find_job/2.
jobs(server \\ __job_broadcaster__())
Callback implementation for Quantum.Scheduler.jobs/1.
new_job(config \\ config())
Callback implementation for Quantum.Scheduler.new_job/1.
start_link(opts \\ [name: __MODULE__])
Callback implementation for Quantum.Scheduler.start_link/1.
stop(server \\ __MODULE__, timeout \\ 5000)
Callback implementation for Quantum.Scheduler.stop/2.