Esempio n. 1
0
        /// <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;
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
 /// <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;
 }
Esempio n. 4
0
 /// <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));
 }