2017-02-21 5 views
0

나는 TCP 포트에서 SMTP 메시지를 받고 대기열에 푸시하는 AzureWorker이 있습니다. 다른 스레드는 대기열에서 이러한 메시지를 선택하여 처리합니다. 현재 프로세스 스레드는 큐 폴링 논리를 가지고 있습니다. 단순히 대기열을 확인하고 대기열이 비어 있으면 대기 간격을 늘립니다.Azure Worker 역할 내에서 WebJob 실행

나는 큐 로직을 단순화하고 기능이 AzureWorker 다른 Webjobs의 사용을 만들고 싶어.

는이 AzureWorkerWebJobs 스레드를 시작하고 해당 스레드가 세부 사항을 처리하도록 할 수 있습니까? 내가 알아야 할 한계가 있습니까?

답변

1

Azure Worker 역할은 Azure Cloud Services의 기능입니다. Azure 웹 작업은 Azure App Service의 기능입니다. 둘 다 응용 프로그램 컨텍스트 내에서 백그라운드 프로세스 태스크를 실행하는 유사한 기능을 제공하도록 빌드됩니다. 비록 그들이 다른 Azure 서비스의 특징이기 때문에 당신이 중첩 된 방식으로 요구하는 것처럼 그들은 함께 달릴 수 없습니다.

0

이 AzureWorker에서 WebJob 스레드를 시작하여 해당 스레드가 세부 사항을 처리하도록 할 수 있습니까?

Chris Pietschmann에 동의합니다. Azure Worker Role에서 WebJob 스레드를 직접 시작할 수 없습니다.

다른 스레드는 큐에서 이러한 메시지를 선택하여 처리합니다. 현재 프로세스 스레드는 큐 폴링 논리를 가지고 있습니다. 단순히 대기열을 확인하고 대기열이 비어 있으면 대기 간격을 늘립니다.

이 AzureWorker에서 대기열 논리를 단순화하고 다른 Webjobs 기능을 사용하고 싶습니다.

WebJob을 사용하여이 작업을 완료하려면 Azure App Service에서 프로그램을 작성하고 WebJob으로 실행할 수 있습니다. WebJobs API은 REST API를 통해 WebJob을 동적으로 시작/중지 할 수있는 방법을 제공하므로이를 사용하여 Worker Role에서 WebJob을 관리 할 수 ​​있습니다.