首页 文章

如何停止Azure辅助角色

提问于
浏览
1

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

1 回答

  • 1

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

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

    我不建议在正在处理的线程中做任何事情,因为它会减慢你的工作,但是如果你的线程有一个OnStop方法,你可以用它来整理线程然后关闭它 .

相关问题