123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- using Cksoft.Data;
- using Cksoft.Data.Repository;
- using Cksoft.Unity;
- using DllEapDal.OFILM;
- using Microsoft.Extensions.Configuration;
- using Quartz;
- using System;
- using System.Threading;
- using System.Threading.Tasks;
- namespace BIOutputPush
- {
- public class PushOutputJob : IJob
- {
- public Task Execute(IJobExecutionContext context)
- {
- var delay = Convert.ToInt32(AppConfigurtaionServices.Configuration["Delay"]);
- var connStr = AppConfigurtaionServices.Configuration.GetConnectionString("eap");
- NLog.ILogger logger = NLog.LogManager.LoadConfiguration("NLog.config").GetCurrentClassLogger();
- logger.Fatal($"Delay:{delay}");
- return Task.Run(() =>
- {
- Thread.Sleep(delay * 60 * 1000);
- try
- {
- using (IDatabase db = DbFactory.Base(connStr, DatabaseType.MySql))
- {
- try
- {
- string errorinfo = string.Empty;
- var dal = new BICollectDal(db);
- db.BeginTrans();
- var res = dal.CollectOutput(delay, ref errorinfo);
- if (res > 0)
- {
- db.Commit();
- logger.Fatal("推送BI产量数据成功");
- }
- else
- {
- db.Rollback();
- logger.Error($"推送BI产量数据失败,原因为:{errorinfo}");
- }
- }
- catch (Exception ex)
- {
- if (db != null)
- db.Rollback();
- logger.Error($"推送BI产量数据失败,原因为:{ex.ToString()}");
- }
- }
- }
- catch (Exception ex)
- {
- logger.Error(ex.Message);
- }
- });
- }
- }
- }
|