如何停止Azure辅助角色

时间:2014-04-25 12:55:29

标签: multithreading azure

我们有1-2个worker,它旋转5个线程,每个线程从Azure队列读取消息并进行长时间处理,每个处理可能需要大约1-2个小时。我们希望实现逻辑以阻止特定工作者角色的特定线程。用户将提交取消特定处理的请求。我们将工作者角色和线程信息保存在我们的azure表中。但是我们坚持实现停止正在处理的特定工作者角色的线程。可以任何人给出一些想法/设计来阻止特定工人的特定线程。我们可以使用线程的取消令牌来停止线程。请帮助我们停止工作者角色。

1 个答案:

答案 0 :(得分:1)

你需要某种旗帜。因此,要么是受监视的新队列,要么是数据库更新。

然后在您的辅助角色中启动一个新线程,监视这些取消消息/标志,选择正确的线程并停止它。

我不建议在正在处理的线程中执行任何操作,因为这会降低您的工作速度,但是如果您的线程有OnStop方法,则可以在关闭线程之前使用它来整理线程。 / p>