/// <summary> /// Creates a new trigger instance. /// </summary> /// <param name="tasks">The tasks handler.</param> /// <param name="task">The task.</param> /// <param name="interval">The delay interval to a restart after a failure.</param> /// <param name="maximum">The maximum number of restarts.</param> public CrawlerTriggerTaskRestart(ICrawlerTasks tasks, CrawlerTask task, TimeSpan interval, uint maximum) : base(tasks, task) { this.interval = interval; this.maximum = maximum; this.count = 0; }
/// <summary> /// Creates a new trigger instance. /// </summary> /// <param name="tasks">The tasks handler.</param> public CrawlerTrigger(ICrawlerTasks tasks) { // Validate the arguments. if (null == tasks) throw new ArgumentNullException("tasks"); // Set the tasks handler. this.tasks = tasks; }
/// <summary> /// Creates a new trigger instance. /// </summary> /// <param name="tasks">The tasks handler.</param> /// <param name="schedule">The schedule.</param> public CrawlerTriggerSchedule(ICrawlerTasks tasks, CrawlerSchedule schedule) : base(tasks) { // Validate the arguments. if (null == schedule) throw new ArgumentNullException("schedule"); // Set the schedule. this.schedule = schedule; }
/// <summary> /// Creates a new crawler task instance. /// </summary> /// <param name="tasks">The tasks handler.</param> /// <param name="name">The task name.</param> public CrawlerTask(ICrawlerTasks tasks, string name) { // Set the task properties. this.Id = Guid.NewGuid(); this.Name = name; // Create the task event arguments. this.args = new CrawlerTaskEventArgs(this); // Create the task triggers. this.triggerRestart = new CrawlerTriggerTaskRestart(tasks, this, this.restartAfterFailureInterval, this.restartAfterFailureMaximum); }
/// <summary> /// Creates a new trigger instance. /// </summary> /// <param name="tasks">The tasks handler.</param> /// <param name="task">The task.</param> public CrawlerTriggerTask(ICrawlerTasks tasks, CrawlerTask task) : base(tasks) { // Set the task. this.task = task; }
/// <summary> /// Creates a new trigger instance. /// </summary> /// <param name="tasks">The tasks handler.</param> /// <param name="task">The task.</param> /// <param name="interval">The delay interval to a restart after a failure.</param> public CrawlerTriggerTaskStop(ICrawlerTasks tasks, CrawlerTask task, CrawlerTask.RunningTaskState state, TimeSpan interval) : base(tasks, task) { this.state = state; this.interval = interval; }