Похоже, что две веб-работы блокируют друг друга - PullRequest
0 голосов
/ 06 ноября 2018

Может ли кто-нибудь помочь мне узнать, что происходит с нашими службами приложений. У нас есть две службы приложений, подключенные к двум контейнерам хранилища BLOB-объектов, которые запускаются, когда элемент помещается в контейнер, который они слушают.

    App One         App two       (under the same subscription)
       |               |
    WebJobs(9)     WebJobs(9)
       |               |
 Container one   Container Two    (under the same storage account)

Это представляет среды, поэтому App One - это наша среда разработки, а App 2 - наша среда тестирования. Каждый элемент, который помещается в каждый из контейнеров, запускает веб-задание в своей службе приложений. также имеется контейнер архива под учетной записью хранения для каждой службы приложений, в которой хранится копия BLOB-объекта.

Ситуация, в которой мы находимся, заключается в том, что мы, похоже, не можем запустить оба WebJobs одновременно (по 1 из 9 в каждом). Мы можем получить активацию триггера только в одном WebJob, когда он остановлен в другом сервисе приложений. Похоже, они блокируют друг друга, но у меня сложилось впечатление, что структура, которую мы имеем, будет держать все это отдельно, и замки не будут мешать друг другу. информация, которую я могу найти, заключается в том, что чтение Blob получает блокировку для Blob, а обновление Blob получает блокировку для контейнера. Если это правильно, то почему они, кажется, блокируют друг друга.

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

1 Ответ

0 голосов
/ 21 ноября 2018

Эта проблема, похоже, связана с логикой функций WebJobs. Если веб-задания одновременно обращаются к одному и тому же ресурсу, они будут влиять друг на друга. И тогда это вызовет проблему. Пожалуйста, взгляните на конфликтный раздел 1002 *.

...