yuzd / Hangfire.HttpJob

httpjob for Hangfire,restful api for Hangfire,job调度与业务分离
https://github.com/yuzd/Hangfire.HttpJob/wiki
MIT License
634 stars 186 forks source link

System.Threading.Tasks.TaskCanceledException: The operation was canceled #217

Closed liyouzhuo closed 3 months ago

liyouzhuo commented 4 months ago

大佬,你好!我在使用Hangfire.HttpJob的过程中遇到了一些问题,请求大佬指点一下

我是将Test项目里的Hangfire.HttpJob直接作为调度端部署在win service,通过调度webapi的形式完成任务的调度,如下图所示: image

且在此基础上做了部分调整,具体如下: image 这一步的目的是为了api接口可以通过请求头中的x-job-agent-console调用Hangfire仪表盘的控制台进行日志实时输出

client.Timeout保持默认超时时间为1小时,Timeout在这里设置的为1个小时,如下图所示 image image

但是接口基本在执行到10分钟左右调度段就会抛出System.Threading.Tasks.TaskCanceledException的异常,如下图所示: image

目前排查不到是什么原因导致的

liyouzhuo commented 4 months ago

周期性任务没有设置为agent

yuzd commented 4 months ago

你是找到原因了吗

liyouzhuo commented 4 months ago

你是找到原因了吗

没找到是因为什么原因导致的

liyouzhuo commented 4 months ago

你是找到原因了吗

能确定的是调度端触发了取消操作的异常,然后api进而触发cancellationToken

liyouzhuo commented 4 months ago

你是找到原因了吗

佬,你觉得可能是哪里出的问题?

yuzd commented 3 months ago

你的api所在的服务有没有设置超时之类的, 如果你的api是部署到nginx的,那可能是nginx网关有设置超时?