2016-06-20 3 views
2

하늘빛 webjob 예제를 다운로드하여 혼란스러워했습니다. 내가 원하는 것은 상당히 쉽다 : 크론 (Cron) 구문에 의해 제어되는 특정 시간 (하루에 한 번)을 감안할 때, 나는 무거운 직원을 수행하는 방법을 호출하고 싶다. 내가 다운로드 한 예에서 푸른 하늘에서 예정된 webjob을 호출하는 방법은 무엇입니까?

은 항상 메인 프로그램이있다 :

static void Main(string[] args) 
    { 
     JobHost host = new JobHost(); 
     host.RunAndBlock(); 
    } 

이 그럼 당신은 (예 : QueueTrigger를) 트리거를 정의 할 수 있습니다 그러나

public static void GenerateThumbnail(
    [QueueTrigger("thumbnailrequest")] BlobInformation blobInfo, 
    [Blob("images/{BlobName}", FileAccess.Read)] Stream input, 
    [Blob("images/{BlobNameWithoutExtension}_thumbnail.jpg")] CloudBlockBlob outputBlob) 
    { 
} 

, 내가 필요하지 않습니다 큐 항목이 뭔가를 트리거 할 때 필요한 것은 내 Cron 시간이 일치 할 때 My 메서드 (Functions.DoThis())가 실행된다는 것입니다.

불행히도 나는 그것을 할 방법을 찾지 못했습니다. 누군가 도울 수 있습니까?

+0

Azure 기능의 완벽한 사용 사례입니다. 이 접근법을 보았습니까? HTTP 트리거를 사용하면 다음과 같은 URL을 호출 할 수 있습니다. https : // {function app name} .azurewebsites.net/api/{function name} https://azure.microsoft.com/en-us/documentation/articles/ 함수 개요/ –

+0

안녕하세요, 제 코드를 완료하는 데 시간이 걸립니다. http 트리거가 시간 초과됩니까? 예를 들어, 하늘 스케줄러를 사용하여 이전에 내 URL을 호출하려했지만 스케줄러는 URL이 실제로 호출 되었음에도 불구하고 시간 초과 오류보고를 계속합니다. – daxu

답변

2

타이머 트리거 (Timer Trigger)를 사용하여이를 수행 할 수 있습니다.

// Runs once every 5 minutes 
public static void CronJob([TimerTrigger("0 */5 * * * *")] TimerInfo timer) 
{ 
    Console.WriteLine("Cron job fired!"); 
} 

자세한 내용은 this page을 참조하십시오.

관련 문제