我有一个将大型CSV(500 MB至10+ GB)复制到SQL Azure表格中的Azure Webjob。我每天都会得到一个新的CSV,而且我只保留1个月的记录,因为将它们保留在SQL中是很昂贵的,所以它们非常不稳定。Azure Webjobs一次处理的斑点数量有限
为了让他们开始,我批量上传了上个月的数据(〜200 GB),同时我看到所有30个CSV文件都得到了处理。这导致在上传一个非常疯狂的备份,如通过这样的画面:
我有大约5页看起来像这样计算所有的重试。 如果我一次上传2个,一切正常!但从运行时间可以看出,有些可能需要14个多小时才能完成。
我想要做的是批量上传30个CSV并让Webjob一次只处理3个文件,然后一旦完成,就开始下一个。这与目前的SDK可能吗?
感谢您的回复!同时处理全部30个数据不是处理器或内存问题,而是我担心的数据库吞吐量。我会尝试像你说的那样排队结果,并且看看我在哪里,但是我必须从blob上的触发切换到队列上的触发。 – 2015-03-25 20:07:21
你实际上可以在一个链中编写两个不断运行的作业。 (我知道这听起来很荒谬)。一个监控写入队列的博客,然后另一个监控插入到DB中的队列,然后可以在BatchSize上进行节制。 – 2015-03-26 00:01:19
使用信号灯怎么样?你认为这会起作用吗? – 2015-03-27 00:37:09