Rq Aw
Rq Aw

Reputation: 11

MassTransit:Cancel Long Running Job

How can i cancel long running job based on IJobConsumer?

I tried publish CancelJob to bus, but no result.

[HttpGet]
public async Task < IActionResult > Get() {
  var response = await _client.GetResponse < JobSubmissionAccepted > (new {
    Id = "test"
  });

  await Task.Delay(TimeSpan.FromSeconds(3));

  await _endpoint.Publish < CancelJob > (new {
    JobId = response.Message.JobId,
      Reason = "I give up"
  });

  return Ok(response.Message.JobId);
}

Upvotes: 1

Views: 461

Answers (1)

Chris Patterson
Chris Patterson

Reputation: 33278

When a job consumer is canceled, the CancellationToken property of the JobContext is signaled. It is up to the job consumer's Run method to properly cancel once the token is signaled.

Upvotes: 2

Related Questions