我有一些工作在Hangfire中似乎处于“挂起”状态,可能运行数小时但实际上并没有执行任何操作。 Hangfire是否有一种方法可以在任务运行时间超过一定时间后终止该任务?
我正在SQL服务器上运行最新版本的Hangfire。
我有一些工作在Hangfire中似乎处于“挂起”状态,可能运行数小时但实际上并没有执行任何操作。 Hangfire是否有一种方法可以在任务运行时间超过一定时间后终止该任务?
我正在SQL服务器上运行最新版本的Hangfire。
public static void Method1(string param1, IJobCancellationToken token) { }
BackgroundJob.Delete(jobId)
。这将清除Hangfire中的作业并终止服务器上的进程。是的,你可以这样做,你需要在启动时设置FetchNextJobTimeout。通过设置FetchNextJobTimeout,您可以控制作业在Hangfire开始在另一个线程上再次执行之前可以运行多长时间。
services.AddHangfire(config => {
config.UseMemoryStorage(new MemoryStorageOptions { FetchNextJobTimeout = TimeSpan.FromHours(24) });
});