fpmas 1.6
Public Member Functions | List of all members
fpmas::api::scheduler::Scheduler Class Referenceabstract

#include <scheduler.h>

Inheritance diagram for fpmas::api::scheduler::Scheduler:
Inheritance graph
[legend]

Public Member Functions

virtual void schedule (Date date, const Job &job)=0
 
virtual void schedule (Date date, Period period, const Job &job)=0
 
virtual void schedule (Date date, Date end, Period period, const Job &job)=0
 
virtual void schedule (Date date, JobList job)=0
 
virtual void schedule (Date date, Period period, JobList job)=0
 
virtual void schedule (Date date, Date end, Period period, JobList job)=0
 
virtual void build (TimeStep step, Epoch &epoch) const =0
 

Detailed Description

Scheduler API.

The Scheduler can be used to submit jobs to execute punctually at a given Date or recurrently at a given Period.

A Runtime can be used to execute jobs submitted to the Scheduler.

Member Function Documentation

◆ schedule() [1/6]

virtual void fpmas::api::scheduler::Scheduler::schedule ( Date  date,
const Job job 
)
pure virtual

Schedule a Job to be executed at the given Date.

Parameters
datedate when the job must be executed
jobjob to execute

Implemented in fpmas::scheduler::Scheduler.

◆ schedule() [2/6]

virtual void fpmas::api::scheduler::Scheduler::schedule ( Date  date,
Period  period,
const Job job 
)
pure virtual

Schedule a Job to be executed at the given Period, starting from the given Date.

In other terms, the job will be executed at date, date+period and date+n*period for any integer n.

Parameters
datedate when the job must be executed at first
periodperiod at which the job must be executed
jobjob to execute

Implemented in fpmas::scheduler::Scheduler.

◆ schedule() [3/6]

virtual void fpmas::api::scheduler::Scheduler::schedule ( Date  date,
Date  end,
Period  period,
const Job job 
)
pure virtual

Schedules a Job to be executed at the given Period, starting from the given Date, until the end Date.

In other terms, the job will be executed at date, date+period and date+n*period for any integer n such that date+n*period < end.

Parameters
datedate when the job must be executed at first
enddate until when the job must be executed
periodperiod at which the job must be executed
jobjob to execute

Implemented in fpmas::scheduler::Scheduler.

◆ schedule() [4/6]

virtual void fpmas::api::scheduler::Scheduler::schedule ( Date  date,
JobList  job 
)
pure virtual

Schedules a Job list to be executed sequentially at the given Date.

Parameters
datedate when the job must be executed
jobjob to execute

Implemented in fpmas::scheduler::Scheduler.

◆ schedule() [5/6]

virtual void fpmas::api::scheduler::Scheduler::schedule ( Date  date,
Period  period,
JobList  job 
)
pure virtual

Schedules a Job list to be executed sequentially at the given Period, starting from the given Date.

In other terms, the job will be executed at date, date+period and date+n*period for any integer n.

Parameters
datedate when the job must be executed at first
periodperiod at which the job must be executed
jobjob to execute

Implemented in fpmas::scheduler::Scheduler.

◆ schedule() [6/6]

virtual void fpmas::api::scheduler::Scheduler::schedule ( Date  date,
Date  end,
Period  period,
JobList  job 
)
pure virtual

Schedules a Job list to be executed sequentially at the given Period, starting from the given Date, until the end Date.

In other terms, the job will be executed at date, date+period and date+n*period for any integer n such that date+n*period < end.

Parameters
datedate when the job must be executed at first
enddate until when the job must be executed
periodperiod at which the job must be executed
jobjob to execute

Implemented in fpmas::scheduler::Scheduler.

◆ build()

virtual void fpmas::api::scheduler::Scheduler::build ( TimeStep  step,
Epoch epoch 
) const
pure virtual

Builds an Epoch that correspond to the specified date.

All jobs currently scheduled at the specified time step, according to the rules of the schedule() functions, will be submitted to the given epoch. Jobs are ordered by Date within the built epoch. If jobs are submitted with the same Date, the execution order is undefined.

See also
Epoch::submit()
Parameters
steptime step to build
epochoutput epoch

Implemented in fpmas::scheduler::Scheduler.


The documentation for this class was generated from the following file: