Я реализовал длительный процесс как WebJob, который запускается при сообщении очереди. Я понимаю, что JobHost.RunAndBlock()
начнет выполнение только после завершения и возврата текущего задания. Однако, если мой первый процесс все еще работает, когда приходит очередное сообщение о очереди, второй процесс запускает выполнение и уничтожает первый процесс (который имеет некоторые статические структуры данных).JobHost.RunAndBlock не блокирует
1
A
ответ
2
По умолчанию сообщения очереди обрабатываются параллельно. Степень параллелизма по умолчанию равна 16.
Если вы не хотите выполнять параллельное выполнение, вы можете установить JobHostConfiguration.Queues.BatchSize
на 1
, как описано here.