Webjobs和大型数据库查询

时间:2016-08-21 14:04:12

标签: asp.net azure azure-webjobs

如果需要使用结果集合100,000行来查询数据库。然后我需要处理那些数据。这可以通过连续的webjob成功完成吗?如果是这样,队列如何管理?我目前有这个问题

Webjob query being limited by take not processing any further data when triggered, or when being interrupted will not continue processing queue

讨论了使用带有时间触发器的连续webjob的问题。如果webjob重新启动,队列将被转储,通过转储,我的意思是队列不再被处理。如果使用take来限制查询中的行,则下一个pollevent不会处理任何数据。

通过这些webjobs管理这么多内容,并且有一些很难掌握管理大型队列。

我的问题:

webjobs是否适合处理大量数据?

如果是这样,它们应该是连续的还是预定的?为什么?

1 个答案:

答案 0 :(得分:1)

  

webjobs是否适合处理大量数据?

当然,为什么不呢?如果出于某种原因,您不相信WebJobs SDK,那么就没有什么能阻止您编写一个简单的控制台应用程序来完成所有处理并将其部署为WebJob。通过这种方式,没有任何东西被隐藏或被管理掉#34;来自你。

  

如果是这样,它们应该是连续的还是预定的?为什么?

连续的WebJob通常在触发器的上下文中有意义。 您有一些工作等待接收,并通过存储队列消息或您选择的其他一些机制(custom triggers)发出信号。

预定的WebJob,嗯......它按计划运行。你是否有一个?那就这么做。

如果没有足够的意义来形成一个明确的选择,为什么不只是根据你自己的外部逻辑手动触发呢?

来自https://github.com/projectkudu/kudu/wiki/WebJobs-API#invoke-a-triggered-job

  

调用已触发的作业
  POST /api/triggeredwebjobs/{job name}/run