Reputation: 11
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
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