2014-07-21 1 views
5

이전에 예정되어 있고 Quartz.Net을 통해 Azure Webjobs로 실행되는 몇 가지 작업을 마이그레이션하는 중입니다.Azure Webjob에 대한 커맨드 라인 인수

Quartz.Net을 사용하면 스케쥴러를 초기화하는 콘솔 프로그램 진입 점과 동일한 프로젝트에서 모든 (매우 컴팩트 한) 작업 클래스를 가질 수있었습니다.

이제 각 웹 작업마다 개별 콘솔 응용 프로그램 프로젝트를 만들지 않고도이 구조를 유지하고 싶습니다.

현재 명령 줄 인수에 따라 올바른 작업으로 내부적으로 분기 할 수있는 연속 웹 작업의 명령 줄 인수를 구성하는 방법은 현재 있습니까?

답변

9

Azure WebJobs에서이 작업을 수행하는 한 가지 방법은 명령 줄 인수 인 MyApplication.exe arg1 arg2을 사용하여 각 WebJob에 대한 스크립트 파일을 만드는 것입니다.

또 다른 방법은 환경 변수 WEBJOBS_NAME에서 얻을 수있는 현재 WebJob 이름으로 실행할 메소드를 선택하는 것입니다.

트리거 된 WebJob의 경우 API에서 명령 줄 인수 (실행 당)가 지원되지만 여전히 Azure 포털에서는 지원되지 않습니다 (https://github.com/projectkudu/kudu/wiki/WebJobs-API#invoke-a-triggered-job).

+0

중간에 ps 스크립트를 실험했지만 WEBJOBS_NAME도 훌륭하게 들립니다. –

+0

언급 한 첫 번째 옵션에 대해 더 자세히 설명 할 수 있습니까? 매개 변수가있는 스크립트를 만드시겠습니까? 어떻게 콘솔 app exe를 실행하는 대신 스크립트를 실행하는 웹 작업을 말할 수 있습니까? 또한 내 kudu 콘솔에서 webjobs를 참조하는 env 변수를 볼 수 없습니다. – andy250

+1

@ andy250은 스크립트로 run.cmd 파일을 만듭니다.이 스크립트는 항상 실행되도록 선택된 스크립트입니다. kudu 콘솔에서 webjob의 env 변수를 볼 수 없습니다. webjob으로 실행되지 않기 때문에 모든 env 변수를 출력하고 로그를 보는 스크립트로 webjob을 만들 수 있습니다. –