Выполнение Azure WebJob QueueTrigger - PullRequest
0 голосов
/ 25 сентября 2018

Я выполняю несколько одновременных экземпляров QueueTrigger в рамках веб-задания Azure.Это отдельная функция, но она вызывается несколько раз параллельно.

Моя функция использует статические переменные для кэширования данных, которые используются несколько раз.

Иногда при запуске функций возникают конфликты настатические объекты, которые могут быть объяснены только несколькими процессами, пытающимися получить к ним доступ одновременно, но я был уверен, что каждый экземпляр queuetrigger работает изолированно.

Итак, мои вопросы:

Выполняются ли экземпляры queuetrigger изолированно?

Если нет, существует ли конкретное событие, которое запускается при загрузке "экземпляра", чтобы можно было загружать статические объекты?

1 Ответ

0 голосов
/ 28 сентября 2018

Понял это с некоторыми экспериментами.

Экземпляры QueueTrigger запускаются как часть процесса, внутри которого выполняется WebJob, и не выполняются изолированно.

WebJobs автоматически отключаются, еслиим не говорят оставаться открытым и они потеряют все статические данные.Это может привести к путанице в поведении, но это по замыслу.

...