protected virtual void BeginExecution(DailyJob scheduledJob) { if (scheduledJob.CurrentlyExecuting) { return; } lock (_lockObject) { try { scheduledJob.SetCurrentlyExecutingFlag(true); ExecuteJob(scheduledJob); } finally { scheduledJob.SetCurrentlyExecutingFlag(false); } } }
protected abstract void ExecuteJob(DailyJob scheduledJob);