2014-09-09 2 views
2

4 가지 명령 줄 매개 변수를 사용하여 4 가지 방법으로 다른 시간에 실행해야하는 Azure WebJob이 있습니다. run.cmd를 사용하여 매개 변수를 설정할 수 있지만 4 세트의 어셈블리가있는 공간 낭비처럼 보입니다. 동일한 폴더에서 동일한 어셈블리 세트를 실행하는 여러 개의 Webjob을 정의 할 수 있습니까? 각 webjobs에는 그 폴더에서 exe를 호출하는 run.cmd가 하나 있습니다.여러 Azure webjob이 동일한 어셈블리를 공유 할 수 있습니까?

+0

Amit의 대답은 여기를 참조하십시오. http://stackoverflow.com/questions/24865828/command-line-arguments-to-azure-webjobs/24870411#24870411 –

답변

3

이것은 기본적으로 제공되지 않습니다.

방법이 있지만 비용을 들이면 바이너리 (사이트의 어느 위치에서 예 : d:\home\site\wwwroot\app_data\jobs\common)와 함께 하나의 디렉토리를 가질 수 있으며 WebJob은 각각 run.cmd 스크립트로 적절하게 구성 할 수 있습니다 당신이 파일이 아마도 잠 깁니다 이후 처음 WebJobs을 중지해야합니다 이러한 일반적인 WebJobs 바이너리를 업데이트하고 나중에 그것들을 시작해야 할 때

@echo off 
d:\home\site\wwwroot\app_data\jobs\common\DoWork.exe job1 

문제는 업데이트 이야기입니다 : 그 공통 디렉토리로 호출 인수 .

+0

작업이 실행되면 멈출 필요가 없습니다. 그들? –

+0

당신은 방아쇠를 당긴 webjob을 멈출 수 없으므로, 스스로 멈추거나 사이트를 다시 시작해야합니다. Webjob을 실행하기 전에 공용 디렉토리를 임시 디렉토리 ('% temp % \ something')에 복사 한 다음 그 디렉토리에서 실행하는 한 단계 더 나아갈 수 있습니다. 이렇게하면 파일을 잠글 수 없습니다. –

+0

또한'd : \ home \ site \ wwwroot' 경로를 하드 코딩하는 대신 WEBROOT_PATH 환경 변수를 사용하는 것이 좋습니다. –

관련 문제