Example #1
0
        /// <summary>
        /// Ctor using start DateTime for when this Scheduler becomes active
        /// </summary>
        /// <param name="start">the starting DateTime</param>
        /// <param name="interval">How often to check the scheduled items</param>
        /// <param name="duration">How long will this Scheduler be active</param>
        public Orchestrator(string name, DateTime start, TimeSpan interval, TimeSpan duration, IOrchestratorRepository <T> repository, IEquationSolver solver = null)
        {
            StartDateTime = start;
            Interval      = interval;
            EndDateTime   = DateTime.Now + duration;
            Name          = name;
            Repository    = repository;

            if (solver != null)
            {
                Solver = solver;
            }
        }
Example #2
0
 /// <summary>
 /// Ctor for defining interval and name of orchestrator
 /// </summary>
 /// <param name="name">Name of the Orchestrator</param>
 /// <param name="interval">the interval to use for schedule items</param>
 /// <param name="solver">the equation solver to use for orchestrating schedule items</param>
 public Orchestrator(string name, TimeSpan interval, IOrchestratorRepository <T> repository, IEquationSolver solver = null) :
     this(name, interval, TimeSpan.FromDays(365 * 10), repository, solver)
 {
 }
Example #3
0
 /// <summary>
 /// Ctor using DateTime.Now as starting DateTime
 /// </summary>
 /// <param name="interval">Timespan interval of execution on eligible ScheduleItems</param>
 /// <param name="duration">How long for this scheduler to remain active</param>
 public Orchestrator(string name, TimeSpan interval, TimeSpan duration, IOrchestratorRepository <T> repository, IEquationSolver solver = null) :
     this(name, DateTime.Now, interval, duration, repository, solver)
 {
 }
Example #4
0
 /// <summary>
 /// Minimal Ctor
 /// </summary>
 /// <param name="name">Name of Orchestrator</param>
 /// <param name="solver">the equation solver to use for orchestrating schedule items</param>
 public Orchestrator(string name, IOrchestratorRepository <T> repository, IEquationSolver solver = null) :
     this(name, TimeSpan.FromSeconds(1), repository, solver)
 {
 }