【问题标题】:Azure WebJobs SleepAzure WebJobs 睡眠
【发布时间】:2017-01-18 10:25:21
【问题描述】:

我有一个服务作为 Azure Webjobs 运行并根据需要进行扩展,这是一个长时间运行的过程,队列中的每条消息可能需要几个小时。它工作正常,唯一的问题是它依赖第三方作为休息端点,由于各种问题可能不可用。

我的代码捕获了这个错误,我需要它等待 10-15 秒才能再次尝试,我使用了

Thread.Sleep(10000);

这在本地工作,但在 Azure 作为网络作业时,它似乎暂停网络作业的所有实例,而不仅仅是需要等待的实例。

关于为什么的任何想法?我相信每个实例都在一个不同的线程上,但我对 WebJobs 相对较新,所以不能 100% 确定,所以在这方面的一些指导也会很好。

【问题讨论】:

  • 你尝试使用 async/await 方法了吗?

标签: multithreading azure azure-webjobs


【解决方案1】:

当您横向扩展应用服务计划时,WebJob 的所有实例都独立运行。如果他们都在同一时间睡觉,则可能是休息端点在此期间通常不可用,导致他们都睡觉。

【讨论】:

  • 是的,我也这么认为,但后来我测试并发现其中一个作业没有使用端点,因为它正忙于处理数据并且端点处于脱机状态,所以另一个作业是线程,睡眠他们都停了下来,所以正在嘎吱作响的工作丢失了它的数据,因此我担心这个问题。那有意义吗?时间不早了……
猜你喜欢
  • 2012-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-29
  • 2021-04-12
  • 2010-11-16
  • 1970-01-01
相关资源
最近更新 更多