У меня есть рабочая роль (WR-1) для размещения сообщений в Azure Queue. WR-1 запланирован с использованием Quartz.NET.
У меня есть другая рабочая роль (WR-2), обрабатывающая сообщения в Azure Queue.
Я хотел бы запустить WR-2 из WR-1 после завершения операции очереди.
Я не мог найти никакого материала о том, как создать экземпляр рабочей роли из другой рабочей роли. Возможно ли это? Как это можно сделать?Создание экземпляра рабочей роли из рабочей роли
ответ
Если ваши рабочие роли являются разными приложениями, вы можете использовать Service Management API
для создания нового развертывания для WR-2 из WR-1. Что бы вы сделали, это поместить файлы пакета и конфигурации WR-2 в хранилище blob, и когда WR-1 выполнил посылку всех сообщений в очереди, вы создаете новое развертывание WR-2. Чтобы создать развертывание программно с помощью API управления сервисами, см. Здесь: http://msdn.microsoft.com/en-us/library/windowsazure/ee460813.aspx. Однако вам нужно будет убедиться, что после того, как WR-2 выполнит все данные, он будет уничтожен WR-1, чтобы вы не продолжали взимать плату.
Другая возможность - запустить экземпляры рабочей роли для запуска в конфигурации Master/Slave
. Допустим, есть 2 экземпляра вашей рабочей роли. Одним из экземпляров будет экземпляр Master
, который поместит данные в очередь и после того, как данные будут помещены в очередь, он напишет сообщение в какой-то другой очереди, сигнализируя Slave
, что это делается, записывая данные. Slaves
будет постоянно опробовать эту другую очередь, и как только они обнаружат, что Master
закончил поместить данные, они могут начать собирать данные из очереди, содержащей фактические данные, и обрабатывать их. Чтобы решить, какой экземпляр будет Master
, а какие будут Slave
, вы можете использовать функциональность Lease Blob
. Экземпляр, который может приобрести лизинг на блобе, будет Master
, а в других случаях - Slave
.
- 1. Вызов простой рабочей роли
- 2. Windows Azure - Получение роли веб-роли от рабочей роли
- 3. Azure Queues: периодически выдавать сообщение из одного экземпляра рабочей роли.
- 4. Доступ к выполнению сборки из рабочей роли
- 5. Использование команд Azure из рабочей роли
- 6. Azure - Включить диагностику для рабочей/веб-роли
- 7. Программно порождать новые экземпляры рабочей роли
- 8. Azure Service Bus передается во все экземпляры рабочей роли
- 9. Исключение при вызове CacheDiagnostics.ConfigureDiagnostics из рабочей роли с кешированием 2.1
- 10. Остановить экземпляр рабочей роли от Windows Azure Management Portal
- 11. Как заставить каждый экземпляр рабочей роли запускать скрипт cmd?
- 12. Как указать, какие порты нужны моей рабочей роли?
- 13. Как ограничить видимость для владельца, роли или рабочей группы?
- 14. Отладка рабочей роли Python Azure в VS 2013
- 15. Как запустить RavenDb в Azure внутри рабочей роли
- 16. Должен ли я назначить всю обработку заднего конца рабочей роли?
- 17. Невозможно подключиться к рабочей роли с помощью RDP
- 18. Хостинг ServiceStack с использованием рабочей роли Windows Azure
- 19. Опрос двух очередей хранения Azure с использованием одной рабочей роли
- 20. Как запустить два процесса socket.io в одной рабочей роли?
- 21. Нужно ли мне время сна в моей рабочей роли?
- 22. Работа с экземпляром экземпляра в роли рабочего
- 23. Конфигурация роли Azure Worker
- 24. ЧЛЕНСТВО Создание роли
- 25. Создание рабочей очереди в потоке
- 26. Перенос WCF в роли роли Azure
- 27. Создание статической библиотеки из рабочей области
- 28. Создание экземпляра рабочей книги/excel в Visual Basic
- 29. Создание рабочей копии репозитория GIT
- 30. Создание цифровой звуковой рабочей станции
Посмотрев на оба варианта, похоже, что первый вариант является экономически выгодным с точки зрения модели ценообразования на лазурь. исправьте меня, если я ошибаюсь. – Seenu
Я хотел бы понять причину, по которой вы упомянули «Если ваши рабочие роли - разные приложения», как это отличается, если они из одного приложения. – Seenu
Что касается вашего 1-го комментария, первый вариант дешевле, если вы правильно создадите и уничтожаете WR-2. Если вы оставите WR-2 включенным, то вы будете нести ненужные расходы. О втором комментарии. В разных приложениях я имею в виду ваши рабочие роли (WR-1 и WR-2) в двух разных решениях, а не в одном. –