2016-06-20 4 views
2

私はいくつかの紺碧のwebjobの例をダウンロードし、混乱してしまった。私が欲しいのはかなり簡単です: Cron構文で制御されている特定の時間(1日に1回)が与えられたら、重いスタッフをやるようにメソッドを呼びたいと思います。私がダウンロードした例から紺碧で予定されている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を参照してください。

関連する問題