job异常处理
This commit is contained in:
@@ -602,6 +602,12 @@
|
|||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:Yi.Framework.ApiMicroservice.Controllers.TestController.ErrorJob">
|
||||||
|
<summary>
|
||||||
|
job异常处理
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.TestController.TreeTest">
|
<member name="M:Yi.Framework.ApiMicroservice.Controllers.TestController.TreeTest">
|
||||||
<summary>
|
<summary>
|
||||||
树形结构构建测试
|
树形结构构建测试
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using Hangfire;
|
using Hangfire;
|
||||||
|
using Hangfire.MemoryStorage.Database;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.SignalR;
|
using Microsoft.AspNetCore.SignalR;
|
||||||
@@ -221,6 +222,17 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
|||||||
return Result.Success("http://localhost:19001/hangfire");
|
return Result.Success("http://localhost:19001/hangfire");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// job异常处理
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet]
|
||||||
|
public async Task<Result> ErrorJob()
|
||||||
|
{
|
||||||
|
await _quartzInvoker.StartAsync("*/5 * * * * ?", "ErrorJob");
|
||||||
|
return Result.Success();
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 树形结构构建测试
|
/// 树形结构构建测试
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
42
Yi.Framework.Net6/Yi.Framework.Task/ErrorJob.cs
Normal file
42
Yi.Framework.Net6/Yi.Framework.Task/ErrorJob.cs
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
using Quartz;
|
||||||
|
using Quartz.Logging;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Yi.Framework.Common.Models;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Job
|
||||||
|
{
|
||||||
|
public class ErrorJob : IJob
|
||||||
|
{
|
||||||
|
private ILogger<ErrorJob> _logger;
|
||||||
|
public ErrorJob(ILogger<ErrorJob> logger)
|
||||||
|
{
|
||||||
|
_logger = logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Task Execute(IJobExecutionContext context)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Random random = new Random();
|
||||||
|
var p = random.Next(0, 2);
|
||||||
|
//这里可能会抛出异常
|
||||||
|
var o = 1 / p;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
|
||||||
|
JobExecutionException exception = new JobExecutionException(ex);
|
||||||
|
exception.Source = context.JobDetail.Key.Name;
|
||||||
|
exception.UnscheduleFiringTrigger = true;
|
||||||
|
_logger.LogError(exception, $"{exception.Source}错误");
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user