MassTransit作业使用者:是否取消正在进行的作业



我正在处理一个使用MassTransit的项目,但由于工作时间长,不得不使用Job Consumers来避免RabbitMQ中的超时。

然而,这带来了取消这些正在进行的工作的问题。通过RabbitMQ web界面,我们可以清除队列以重置管道中的暂停,但这显然不适用于作业使用者。

我的代码确实尊重与JobContext<...>参数一起传递给IJobConsumerCancellationToken,但我不知道如何触发它,我也找不到任何关于如何做到这一点的文档。

您可以通过发布CancelJob命令来取消正在运行或等待运行的作业:

await x.Publish<CancelJob>(new { JobId = jobId });

最新更新