예제 #1
0
        public void Execute(IJobExecutionContext context)
        {
            Stopwatch watch = new Stopwatch();

            watch.Start();

            try
            {
                LogUtility.Info(string.Format("job启动执行,jobName: {0}, 执行开始时间: {1}", context.JobDetail.Key,
                                              DateUtility.ConvertTimeSpanToDateTime(context.JobRunTime).ToString("yyyy-MM-dd hh:mm:ss")));

                var dataMap = context.JobDetail.JobDataMap;
                var content = dataMap.GetString("jobData");

                HttpRequestItem request = null;
                if (!string.IsNullOrWhiteSpace(content))
                {
                    request = Newtonsoft.Json.JsonConvert.DeserializeObject <HttpRequestItem>(content);
                }
                else
                {
                    request = new HttpRequestItem();
                }
                //发送http请求
                string result = HttpHelp.SendHttpRequest(request);
                //相应处理
                ResponseProcess(result);
            }
            catch (System.Exception ex)
            {
                LogUtility.Error(string.Format("job执行异常,jobName: {0}, 执行开始时间: {1}, 异常信息: {2}", context.JobDetail.Key,
                                               DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), ex.Message));
            }

            watch.Stop();
            LogUtility.Info(string.Format("job执行结束,jobName: {0}, 执行结束时间: {1}, 共耗时: {2}", context.JobDetail.Key,
                                          DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), watch.Elapsed.TotalMilliseconds));

            //System.IO.File.AppendAllText("e:/data.txt", "key:" + context.JobDetail.Key + "   jsonData:" + content + "    Thread:" + System.Threading.Thread.CurrentThread.Name + "\r\n");
        }