コード例 #1
0
        /// <summary>
        /// 添加任务到调度
        /// </summary>
        /// <param name="methodServerInfo"></param>
        private void AddJob(ServerInfo methodServerInfo)
        {
            try
            {
                RecurringJob.RemoveIfExists(methodServerInfo.TaskName);
                var        type   = typeof(ServerMethod);
                MethodInfo method = type.GetMethod(methodServerInfo.TaskMethod);

                if (method != null)
                {
                    RecurringJob.AddOrUpdate(methodServerInfo.TaskName,
                                             () => ServerMethod.Execute(methodServerInfo.TaskMethod, methodServerInfo),
                                             methodServerInfo.ExecTime, TimeZoneInfo.Local);
                }
                else if (methodServerInfo.TaskMethod.ToLower().StartsWith("http://") ||
                         methodServerInfo.TaskMethod.ToLower().StartsWith("https://"))
                {
                    RecurringJob.AddOrUpdate(methodServerInfo.TaskName,
                                             () => ServerMethod.ExcuteApi(methodServerInfo),
                                             methodServerInfo.ExecTime, TimeZoneInfo.Local);
                }
                else
                {
                    LogHelper.WriteLog("加入任务队列失败,未查找到任务执行方法", methodServerInfo.TaskName);
                    return;
                }
                LogHelper.WriteLog("加入任务队列成功", methodServerInfo.TaskName);
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog("加入任务队列失败," + ex.Message, methodServerInfo.TaskName);
            }
        }