1
我已經實現了一個長時間運行的進程作爲一個WebJob,它是由一個隊列消息觸發的。我的理解是JobHost.RunAndBlock()
只會在當前作業完成並返回後纔開始執行。但是,如果我的第一個進程在另一個隊列消息到達時仍在運行,則第二個進程將開始執行並破壞第一個進程(其中包含一些靜態數據結構)。JobHost.RunAndBlock沒有阻止
我已經實現了一個長時間運行的進程作爲一個WebJob,它是由一個隊列消息觸發的。我的理解是JobHost.RunAndBlock()
只會在當前作業完成並返回後纔開始執行。但是,如果我的第一個進程在另一個隊列消息到達時仍在運行,則第二個進程將開始執行並破壞第一個進程(其中包含一些靜態數據結構)。JobHost.RunAndBlock沒有阻止
默認情況下,並行處理隊列消息。並行度的默認度是16.
如果您不想並行執行,您可以將JobHostConfiguration.Queues.BatchSize
設置爲1
,如here所述。