首页 > 解决方案 > 应该创建一个 azure web 作业 (NODEJS) 吗?

问题描述

我需要创建一个运行 2 个进程(也许更多)的网络作业。每时每刻。

过程 1(连续)

  1. 从队列中获取消息
  2. 对于每条消息,连接到 db 并更新一个值。
  3. 重复 1

流程2(日程安排——每天一大早)

  1. 转到 db 并将记录移动到 tmp 表
  2. 通过 HTTP 发送每条记录
  3. 如果无法发送记录,请重试一整天。
  4. 如果所有记录都已发送,明天再运行

根据 2 个进程(应该更多),我可以为所有进程创建一个 Web 作业吗?还是我应该为每个流程创建一个作业?

我正在考虑这个实现,但我不知道它有多准确。

crojobs : 1

类型:连续

while(true){
  process1();
  process2();
}


async function process1() {
   // do staff
}

async function process2() {
   // do staff
   // node-cron lib schedule: (every early morning day)
}

标签: node.jsazureazure-web-app-serviceazure-webjobs

解决方案


根据 2 个进程(应该更多),我可以为所有进程创建一个 Web 作业吗?还是我应该为每个流程创建一个作业?

简而言之,您需要为每个流程创建一个作业。

当您使用连续或计划运行 webjob 时,webjob 类型适用于其中的所有 webjob。因此,您不能创建一个既具有连续性又具有计划性的网络作业。更多细节,你可以参考这篇文章


推荐阅读