/// <summary> /// /// </summary> /// <param name="ijob"></param> /// <param name="element"></param> /// <param name="options"></param> public Job(Type ijob, IJobItem element, Dictionary <string, string> options) { _JobType = ijob; this._Enabled = element.Enabled; this._EnableShutDown = element.EnableShutDown; this._Name = element.Name; this.Interval = element.Period; this._ExecuteOnOwnThread = element.ExecuteOnOwnThread; this._FirstRunAtInitialization = element.FirstRunAtInitialization; this._ExecuteDaily = element.ExecuteDaily; this.UsePreciseTimer = element.UsePreciseTimer; this.PreciseTimerCallbackMode = element.PreciseTimerCallbackMode; if (this._ExecuteDaily) { if (TimeZoneUtility.HasTimeZone(element.DailyLocalizedExecutionTimeZoneName)) { this.DailyLocalizedExecutionTimeZoneInfo = TimeZoneUtility.GetTimeZoneInfo(element.DailyLocalizedExecutionTimeZoneName); this.DailyLocalizedExecutionTime = element.DailyLocalizedExecutionTime; this.DailyExecutionDateTimeKind = DateTimeKind.Local; } else { this._DailyUTCExecutionTime = element.DailyUTCExecutionTime; this.DailyExecutionDateTimeKind = DateTimeKind.Utc; } } this._Options = options; }
/// <summary> /// Creates a new timer object and starts it straight away /// </summary> /// <param name="callback">The callback.</param> /// <param name="dueTime">The amount of time to delay before callback is invoked. Specify TimeSpan.Zero to start the timer immediately.</param> /// <param name="period">The time interval between invocations of callback.</param> /// <param name="preciseTimerCallbackMode">The precise timer callback mode.</param> /// <returns></returns> public static PreciseTimer StartNew(TimerCallback callback, TimeSpan dueTime, TimeSpan period, PreciseTimerCallbackMode preciseTimerCallbackMode) { PreciseTimer preciseTimer = new PreciseTimer(callback, period, preciseTimerCallbackMode); preciseTimer.Start(dueTime, period, false); return(preciseTimer); }
/// <summary> /// Initializes a new instance of the <see cref="PreciseTimer"/> class. /// </summary> /// <param name="callback">The callback.</param> /// <param name="period">The period.</param> /// <param name="preciseTimerCallbackMode">The precise timer callback mode.</param> public PreciseTimer(TimerCallback callback, TimeSpan period, PreciseTimerCallbackMode preciseTimerCallbackMode) { this._PreciseTimerCallbackMode = preciseTimerCallbackMode; this._Period = period; this._TimerCallback = callback; }
/// <summary> /// Creates a new timer object and starts it straight away /// </summary> /// <param name="callback">The callback.</param> /// <param name="period">The time interval between invocations of callback.</param> /// <param name="preciseTimerCallbackMode">The precise timer callback mode.</param> /// <returns></returns> public static PreciseTimer StartNew(TimerCallback callback, TimeSpan period, PreciseTimerCallbackMode preciseTimerCallbackMode) { return(StartNew(callback, TimeSpan.Zero, period, preciseTimerCallbackMode)); }