Quantum v2.4.0 Quantum.Job View Source
This Struct defines a Job.
Usage
The struct should never be defined by hand. Use Acme.Scheduler.new_job/0
to create a new job and use the setters mentioned
below to mutate the job.
This is to ensure type safety.
Link to this section Summary
Functions
Takes some config from a scheduler and returns a new job
Sets a job's name.
Sets a job's overlap.
Sets a job's run strategy.
Sets a job's schedule.
Sets a job's state.
Sets a job's task.
Sets a job's timezone.
Link to this section Types
Link to this section Functions
Takes some config from a scheduler and returns a new job
Examples
iex> Acme.Scheduler.config
...> |> Quantum.Job.new
%Quantum.Job{...}
Sets a job's name.
Parameters
job
- The job struct to modifyname
- The name to set
Examples
iex> Acme.Scheduler.new_job()
...> |> Quantum.Job.set_name(:name)
...> |> Map.get(:name)
:name
Sets a job's overlap.
Parameters
job
- The job struct to modifyoverlap
- Enable / Disable Overlap
Examples
iex> Acme.Scheduler.new_job()
...> |> Quantum.Job.set_overlap(false)
...> |> Map.get(:overlap)
false
Sets a job's run strategy.
Parameters
job
- The job struct to modifyrun_strategy
- The run strategy to set
Examples
iex> Acme.Scheduler.new_job()
...> |> Quantum.Job.run_strategy(%Quantum.RunStrategy.All{nodes: [:one, :two]})
...> |> Map.get(:run_strategy)
[:one, :two]
Link to this function
set_schedule(job, schedule)
View Sourceset_schedule(t(), Crontab.CronExpression.t()) :: t()
Sets a job's schedule.
Parameters
job
- The job struct to modifyschedule
- The schedule to set. May only be of type%Crontab.CronExpression{}
Examples
iex> Acme.Scheduler.new_job()
...> |> Quantum.Job.set_schedule(Crontab.CronExpression.Parser.parse!("*/7"))
...> |> Map.get(:schedule)
Crontab.CronExpression.Parser.parse!("*/7")
Sets a job's state.
Parameters
job
- The job struct to modifystate
- The state to set
Examples
iex> Acme.Scheduler.new_job()
...> |> Quantum.Job.set_state(:active)
...> |> Map.get(:state)
:active
Sets a job's task.
Parameters
job
- The job struct to modifytask
- The function to be performed, ex:{Heartbeat, :send, []}
orfn -> :something end
Examples
iex> Acme.Scheduler.new_job()
...> |> Quantum.Job.set_task({Backup, :backup, []})
...> |> Map.get(:task)
{Backup, :backup, []}
Sets a job's timezone.
Parameters
job
- The job struct to modifytimezone
- The timezone to set.
Examples
iex> Acme.Scheduler.new_job()
...> |> Quantum.Job.set_timezone("Europe/Zurich")
...> |> Map.get(:timezone)
"Europe/Zurich"