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