From a true runtime perspective you can’t, however, inside you job you can set add/update the job parameters or check the last runtime on the job info to see if you want to run. Example below:
public class SampleJob : Shiny.NotifyPropertyChanged, IJob
{
// jobs are stateful services
DateTime? lastRunUtc;
public DateTime? LastRunUtc
{
get => this.lastRunUtc;
set => this.Set(ref this.lastRunUtc, value);
}
public async Task Run(JobInfo jobInfo, CancellationToken cancelToken)
{
var runJob = false;
if (this.LastRunUtc == null) // job has never run
runJob = true;
else if (DateTime.UtcNow > this.LastRunUtc.AddHours(1))
runJob = true; // its been at least an hour since the last run
if (runJob)
{
... do your job
}
}
}