本文整理汇总了C#中IJobExecutionContext.get_JobDetail方法的典型用法代码示例。如果您正苦于以下问题:C# IJobExecutionContext.get_JobDetail方法的具体用法?C# IJobExecutionContext.get_JobDetail怎么用?C# IJobExecutionContext.get_JobDetail使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IJobExecutionContext
的用法示例。
在下文中一共展示了IJobExecutionContext.get_JobDetail方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
public void Execute(IJobExecutionContext context)
{
int @int = context.get_JobDetail().get_JobDataMap().GetInt("Id");
TaskDetail task = TaskSchedulerFactory.GetScheduler().GetTask(@int);
if (task == null)
{
throw new System.ArgumentException("Not found task :" + task.Name);
}
TaskService taskService = new TaskService();
task.IsRunning = true;
System.DateTime utcNow = System.DateTime.UtcNow;
try
{
ITask task2 = (ITask)System.Activator.CreateInstance(System.Type.GetType(task.ClassType));
task2.Execute(task);
task.LastIsSuccess = new bool?(true);
}
catch (System.Exception exception)
{
LoggerFactory.GetLogger().Error(exception, string.Format("Exception while running job {0} of type {1}", context.get_JobDetail().get_Key(), context.get_JobDetail().get_JobType().ToString()));
task.LastIsSuccess = new bool?(false);
}
task.IsRunning = false;
task.LastStart = new System.DateTime?(utcNow);
if (context.get_NextFireTimeUtc().HasValue)
{
task.NextStart = new System.DateTime?(context.get_NextFireTimeUtc().Value.UtcDateTime);
}
else
{
task.NextStart = null;
}
task.LastEnd = new System.DateTime?(System.DateTime.UtcNow);
taskService.SaveTaskStatus(task);
}