优化任务添加修改&fix手动执行网络型任务失败
This commit is contained in:
parent
9394f98682
commit
68faa22ec5
@ -46,7 +46,8 @@ namespace ZR.Admin.WebApi.Controllers
|
|||||||
[HttpGet]
|
[HttpGet]
|
||||||
public IActionResult Index()
|
public IActionResult Index()
|
||||||
{
|
{
|
||||||
return Content("Hello看到这里页面说明你已经成功启动了本项目,加油吧 少年。");
|
return Ok("看到这里页面说明你已经成功启动了本项目:)\n\n" +
|
||||||
|
"如果觉得项目有用,打赏作者喝杯咖啡作为奖励\n☛☛http://www.izhaorui.cn/doc\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -102,18 +102,10 @@ namespace ZR.Admin.WebApi.Controllers
|
|||||||
//从 Dto 映射到 实体
|
//从 Dto 映射到 实体
|
||||||
var tasksQz = parm.Adapt<SysTasksQz>().ToCreate();
|
var tasksQz = parm.Adapt<SysTasksQz>().ToCreate();
|
||||||
var worker = new IdWorker(1, 1);
|
var worker = new IdWorker(1, 1);
|
||||||
|
|
||||||
tasksQz.ID = worker.NextId().ToString();
|
|
||||||
tasksQz.IsStart = false;
|
|
||||||
tasksQz.Create_by = HttpContext.GetName();
|
tasksQz.Create_by = HttpContext.GetName();
|
||||||
tasksQz.TaskType = parm.TaskType;
|
tasksQz.ID = worker.NextId().ToString();
|
||||||
tasksQz.ApiUrl = parm.ApiUrl;
|
|
||||||
if (parm.ApiUrl.IfNotEmpty() && parm.TaskType == 2)
|
return SUCCESS(_tasksQzService.AddTasks(tasksQz));
|
||||||
{
|
|
||||||
tasksQz.AssemblyName = "ZR.Tasks";
|
|
||||||
tasksQz.ClassName = "TaskScheduler.Job_HttpRequest";
|
|
||||||
}
|
|
||||||
return SUCCESS(_tasksQzService.Add(tasksQz));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -152,28 +144,11 @@ namespace ZR.Admin.WebApi.Controllers
|
|||||||
{
|
{
|
||||||
throw new CustomException($"该任务正在运行中,请先停止在更新");
|
throw new CustomException($"该任务正在运行中,请先停止在更新");
|
||||||
}
|
}
|
||||||
|
var model = parm.Adapt<SysTasksQz>();
|
||||||
var response = _tasksQzService.Update(m => m.ID == parm.ID, m => new SysTasksQz
|
model.Update_by = HttpContextExtension.GetName(HttpContext);
|
||||||
{
|
int response = _tasksQzService.UpdateTasks(model);
|
||||||
Name = parm.Name,
|
|
||||||
JobGroup = parm.JobGroup,
|
|
||||||
Cron = parm.Cron,
|
|
||||||
AssemblyName = parm.AssemblyName,
|
|
||||||
ClassName = parm.ClassName,
|
|
||||||
Remark = parm.Remark,
|
|
||||||
TriggerType = parm.TriggerType,
|
|
||||||
IntervalSecond = parm.IntervalSecond,
|
|
||||||
JobParams = parm.JobParams,
|
|
||||||
Update_by = HttpContextExtension.GetName(HttpContext),
|
|
||||||
Update_time = DateTime.Now,
|
|
||||||
BeginTime = parm.BeginTime,
|
|
||||||
EndTime = parm.EndTime,
|
|
||||||
TaskType = parm.TaskType,
|
|
||||||
ApiUrl = parm.ApiUrl,
|
|
||||||
});
|
|
||||||
if (response > 0)
|
if (response > 0)
|
||||||
{
|
{
|
||||||
//先暂停原先的任务
|
|
||||||
var respon = await _schedulerServer.UpdateTaskScheduleAsync(tasksQz);
|
var respon = await _schedulerServer.UpdateTaskScheduleAsync(tasksQz);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,14 +1,12 @@
|
|||||||
using System;
|
using ZR.Model.System;
|
||||||
using System.Collections.Generic;
|
using ZR.Model.System.Dto;
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using ZR.Model.System;
|
|
||||||
|
|
||||||
namespace ZR.Service.System.IService
|
namespace ZR.Service.System.IService
|
||||||
{
|
{
|
||||||
public interface ISysTasksQzService : IBaseService<SysTasksQz>
|
public interface ISysTasksQzService : IBaseService<SysTasksQz>
|
||||||
{
|
{
|
||||||
//SysTasksQz GetId(object id);
|
//SysTasksQz GetId(object id);
|
||||||
|
int AddTasks(SysTasksQz parm);
|
||||||
|
int UpdateTasks(SysTasksQz parm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
using Infrastructure.Attribute;
|
using Infrastructure.Attribute;
|
||||||
|
using Infrastructure.Extensions;
|
||||||
|
using System;
|
||||||
using ZR.Model.System;
|
using ZR.Model.System;
|
||||||
using ZR.Repository.System;
|
|
||||||
using ZR.Service.System.IService;
|
using ZR.Service.System.IService;
|
||||||
|
|
||||||
namespace ZR.Service.System
|
namespace ZR.Service.System
|
||||||
@ -11,8 +12,48 @@ namespace ZR.Service.System
|
|||||||
[AppService(ServiceType = typeof(ISysTasksQzService), ServiceLifetime = LifeTime.Transient)]
|
[AppService(ServiceType = typeof(ISysTasksQzService), ServiceLifetime = LifeTime.Transient)]
|
||||||
public class SysTasksQzService : BaseService<SysTasksQz>, ISysTasksQzService
|
public class SysTasksQzService : BaseService<SysTasksQz>, ISysTasksQzService
|
||||||
{
|
{
|
||||||
public SysTasksQzService(SysTasksQzRepository repository)
|
/// <summary>
|
||||||
|
/// 添加任务
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="parm"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public int AddTasks(SysTasksQz parm)
|
||||||
{
|
{
|
||||||
|
parm.IsStart = false;
|
||||||
|
|
||||||
|
if (parm.ApiUrl.IfNotEmpty() && parm.TaskType == 2)
|
||||||
|
{
|
||||||
|
parm.AssemblyName = "ZR.Tasks";
|
||||||
|
parm.ClassName = "TaskScheduler.Job_HttpRequest";
|
||||||
|
}
|
||||||
|
return Add(parm);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新任务
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="parm"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public int UpdateTasks(SysTasksQz parm)
|
||||||
|
{
|
||||||
|
return Update(f => f.ID == parm.ID, f => new SysTasksQz
|
||||||
|
{
|
||||||
|
ID = parm.ID,
|
||||||
|
Name = parm.Name,
|
||||||
|
JobGroup = parm.JobGroup,
|
||||||
|
Cron = parm.Cron,
|
||||||
|
AssemblyName = parm.AssemblyName,
|
||||||
|
ClassName = parm.ClassName,
|
||||||
|
Remark = parm.Remark,
|
||||||
|
TriggerType = parm.TriggerType,
|
||||||
|
IntervalSecond = parm.IntervalSecond,
|
||||||
|
JobParams = parm.JobParams,
|
||||||
|
Update_time = DateTime.Now,
|
||||||
|
BeginTime = parm.BeginTime,
|
||||||
|
EndTime = parm.EndTime,
|
||||||
|
TaskType = parm.TaskType,
|
||||||
|
ApiUrl = parm.ApiUrl,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,7 +46,7 @@ namespace ZR.Tasks
|
|||||||
RefireImmediately = true
|
RefireImmediately = true
|
||||||
};
|
};
|
||||||
status = 1;
|
status = 1;
|
||||||
logMsg = $"Fail,Exception:{ex.Message}";
|
logMsg = $"Job Run Fail,Exception:{ex.Message}";
|
||||||
}
|
}
|
||||||
|
|
||||||
var logModel = new SysTasksLog()
|
var logModel = new SysTasksLog()
|
||||||
|
|||||||
@ -29,7 +29,7 @@ namespace ZR.Tasks.TaskScheduler
|
|||||||
public async Task Run(IJobExecutionContext context)
|
public async Task Run(IJobExecutionContext context)
|
||||||
{
|
{
|
||||||
AbstractTrigger trigger = (context as JobExecutionContextImpl).Trigger as AbstractTrigger;
|
AbstractTrigger trigger = (context as JobExecutionContextImpl).Trigger as AbstractTrigger;
|
||||||
var info = await tasksQzService.GetByIdAsync(trigger.Name);
|
var info = await tasksQzService.GetByIdAsync(trigger.JobName);
|
||||||
if (info != null)
|
if (info != null)
|
||||||
{
|
{
|
||||||
var result = await HttpHelper.HttpGetAsync("http://" + info.ApiUrl);
|
var result = await HttpHelper.HttpGetAsync("http://" + info.ApiUrl);
|
||||||
@ -37,7 +37,7 @@ namespace ZR.Tasks.TaskScheduler
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
throw new CustomException("任务网络请求执行失败,任务不存在");
|
throw new CustomException($"任务{trigger?.JobName}网络请求执行失败,任务不存在");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user