You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
805 B
C#

using Infrastructure;
using Newtonsoft.Json;
using Quartz;
namespace OpenAuth.App.ServiceApp;
public class FlyTaskJob : IJob
{
private readonly ManageApp _manageApp;
private readonly OpenJobApp _openJobApp;
public FlyTaskJob(ManageApp manageApp, OpenJobApp openJobApp)
{
_manageApp = manageApp;
_openJobApp = openJobApp;
}
public Task Execute(IJobExecutionContext context)
{
var jobId = context.MergedJobDataMap.GetString(Define.JOBMAPKEY);
var job = _openJobApp.Get(jobId);
if (job == null) return Task.CompletedTask;
var param = JsonConvert.DeserializeObject<dynamic>(job.JobCallParams);
var taskId = (string)param.taskId;
_ = _manageApp.ExecuteFlyTask(taskId);
return Task.CompletedTask;
}
}