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.
33 lines
976 B
C#
33 lines
976 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);
|
|
if (string.IsNullOrEmpty(jobId))
|
|
{
|
|
return Task.CompletedTask;
|
|
}
|
|
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);
|
|
_openJobApp.Delete(jobId.Select(c => c.ToString()).ToArray());
|
|
return Task.CompletedTask;
|
|
}
|
|
} |