【问题标题】:MassTransit Job Consumer: cancel in-progress job?MassTransit Job Consumer:取消正在进行的作业?
【发布时间】:2022-11-04 20:05:31
【问题描述】:

我正在开发一个使用 MassTransit 的项目,但由于长期运行的工作,必须使用 Job Consumers 来规避 RabbitMQ 中的超时。

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

我的代码确实尊重CancellationTokenJobContext<...> 参数一起传递给IJobConsumerCancellationToken,但我不知道如何触发它,而且我找不到任何有关如何执行此操作的文档。

【问题讨论】:

    标签: c# jobs masstransit


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-10
      • 2018-01-07
      • 1970-01-01
      • 2020-10-25
      • 2021-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多