1

WebJob、関数、および論理アプリケーションのドキュメントをAzureで調べましたが、コードを使用して1回のプロセス実行をスケジュールする方法が見つかりません。私のユーザは、将来、特定の時間に外出するように通知をスケジュールする必要があります(通常、スケジュールされてから数時間または1日以内)。私がこれらのプロセスで読んでいるものはすべて、CRON式を使用しています。CRON式は1回限りの実行用に設計されていません。ジョブをスケジュールどおりに実行するようにスケジューリングし、残りのジョブを実行する必要があるかどうかを確認するためにデータベースをチェックできますが、可能であればジョブを不必要に実行しないようにしたいと思います。どんな助けもありがとうございます。プログラムによるAzure関数の1回実行のスケジュール

関連性が高い場合は、AzureでホストされているC#、ASP.NET MVC Core、App Services、およびSQLデータベースを使用しています。私の計画は、Logicアプリケーションを使用して、スケジュールされたイベントをデータベースでチェックし、Twilio、SendGrid、およびiOS/Androidプッシュ通知を通じて通知を送信することでした。

+0

なぜロジックアプリケーションを使用してHttpトリガー機能をトリガーしないのですか? – M0rty

答えて

1

Azure Automationを使用して、REST APIを使用してプログラムでタスクをスケジュールすることができます。それについて学ぶhere

Azureイベントグリッドも使用できます。 this記事をもとに、あなたは「ロジックアプリケーションは一度あなたのデータベースに新しいレコードがあるトリガすることによって、既存のワークフローを拡張する」ことができます。

・ホープ、このことができます。

0

あなたは延期視界とAzureキュートリガを使用することができます。これは、これは便利なタイマーとして機能します。指定されたタイムアウトのために目に見えないメッセージを維持します。

CloudQueue queueOutput; // same queue as trigger listens on 
var strjson = JsonConvert.SerializeObject(message); // message is your payload 
var cloudMsg = new CloudQueueMessage(strjson); 

var delay = TimeSpan.FromHours(1); 
queueOutput.AddMessage(cloudMsg, initialVisibilityDelay: delay); 

そしてaddMessageのこのオーバーロードの詳細については、https://docs.microsoft.com/en-us/dotnet/api/microsoft.windowsazure.storage.queue.cloudqueue.addmessage?view=azurestorage-8.1.3を参照してください。

0

1つのオプションは、ScheduledEnqueueTimeUtcプロパティを使用して、アプリケーションにAzureサービスバスメッセージを作成することです。これにより、キューにメッセージが作成されますが、その時点でのみ消耗品になります。

その後、ロジックアプリケーションは、そのサービスバスキューをリッスンして、次の処理を行うことができます。 SendGrid、Twilioなど...

HTH

関連する問題