Мы хотим вызвать длительное действие асинхронно и через какое-то время на основании внешнего сигнала хотели бы отменить это длительное действие.
Async.procedure(activities::longRunningActivity)
// Execute some synchronous activities
Workflow.await(() -> !messageQueue.isEmpty());
if (messageQueue.remove(0) == "something") {
// Cancel longRunningActivity
}
В настоящее время единственный способ обучения деятельности об отмене через сердцебиение. Убедитесь, что ваша активность пульсирует и не проглатывает исключение, вызванное методом heartbeat.