Files
Yi.Admin/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/JobController.cs

104 lines
2.9 KiB
C#
Raw Normal View History

2021-10-30 18:48:58 +08:00
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Yi.Framework.Common;
2021-11-03 18:14:44 +08:00
using Yi.Framework.Common.Const;
2021-10-30 18:48:58 +08:00
using Yi.Framework.Common.Helper;
using Yi.Framework.Common.Models;
using Yi.Framework.Core;
using Yi.Framework.DTOModel;
using Yi.Framework.Interface;
using Yi.Framework.Model.Models;
namespace Yi.Framework.ApiMicroservice.Controllers
{
[ApiController]
[Route("api/[controller]/[action]")]
public class JobController : Controller
{
private readonly ILogger<JobController> _logger;
private QuartzInvoker _quartzInvoker;
public JobController(ILogger<JobController> logger,QuartzInvoker quartzInvoker)
{
_logger = logger;
_quartzInvoker = quartzInvoker;
}
2021-11-04 15:15:00 +08:00
/// <summary>
///
/// </summary>
/// <returns></returns>
2021-10-30 18:48:58 +08:00
[HttpPost]
public async Task<Result> startJob()
{
2021-11-03 18:14:44 +08:00
//任务1
//await _quartzInvoker.start("*/1 * * * * ? ", new Quartz.JobKey("test", "my"), "VisitJob");
//任务2
Dictionary<string, object> data = new Dictionary<string, object>()
{
{JobConst.method,"get" },
{JobConst.url,"https://www.baidu.com" }
};
await _quartzInvoker.start("*/1 * * * * ? ", new Quartz.JobKey("test", "my"), "HttpJob",data: data);
2021-10-30 18:48:58 +08:00
return Result.Success();
}
2021-11-04 15:15:00 +08:00
/// <summary>
///
/// </summary>
/// <returns></returns>
2021-10-30 18:48:58 +08:00
[HttpGet]
public async Task<Result> getRunJobList()
{
return Result.Success().SetData(await _quartzInvoker.getRunJobList());
}
2021-11-04 15:15:00 +08:00
/// <summary>
///
/// </summary>
/// <returns></returns>
2021-10-30 18:48:58 +08:00
[HttpGet]
public Result getJobClass()
{
return Result.Success().SetData(_quartzInvoker.getJobClassList());
}
2021-11-04 15:15:00 +08:00
/// <summary>
///
/// </summary>
/// <returns></returns>
2021-10-30 18:48:58 +08:00
[HttpPut]
public async Task<Result> stopJob()
{
await _quartzInvoker.Stop(new Quartz.JobKey("test", "my"));
return Result.Success();
}
2021-11-04 15:15:00 +08:00
/// <summary>
///
/// </summary>
/// <returns></returns>
2021-10-30 18:48:58 +08:00
[HttpDelete]
public async Task<Result> DeleteJob()
{
await _quartzInvoker.Delete(new Quartz.JobKey("test", "my"));
return Result.Success();
}
2021-11-04 15:15:00 +08:00
/// <summary>
///
/// </summary>
/// <returns></returns>
2021-10-30 18:48:58 +08:00
[HttpPut]
public async Task<Result> ResumeJob()
{
await _quartzInvoker.Resume(new Quartz.JobKey("test", "my"));
return Result.Success();
}
}
}