私は5分ごとに実行するようにchronジョブの設定をしていますが、ポータルログには常に実行ごとに10個の機能呼び出しログがあるようです。これが私の仕事の最高レベルの一部です:Azure Chron Webjobトリガーごとに複数回実行する
public class ShipOrderJob
{
private IShipDateMetBll _shipDateMetBll;
private Serilog.ILogger _log;
public ShipOrderJob(Serilog.ILogger log)
{
_log = log;
}
public void ProcessQueueMessage([TimerTrigger("* */5 * * * *", RunOnStartup = true)]
TimerInfo info,
Serilog.ILogger log)
{
using (ThreadScopedLifestyle.BeginScope(Program.Container))
{
_shipDateMetBll = Program.Container.GetInstance<IShipDateMetBll>();
_shipDateMetBll.ResetLogger(_log);
_shipDateMetBll.DecorateLogger(log);
_shipDateMetBll.MoveB2BOrdersIntoProcessingIfShipDateTimeMet();
}
}
}
私はseriloggerが今日たるみとするフックアップしているので、私はまた、問題があると知っていますwebjobが爆破した。 1つのエラーメッセージを取得する代わりに、同じエラーメッセージのうち6つが1秒以内にすべてスローされます。私が試した何
:私たちが実行している6つのインスタンスを持っていなかったことを確認するために、スケールタブをチェックしました
。私たちは1つだけ走っています。私のクロンタイマーは正しいと思われ、この機能は5分しか実行されません。ここで唯一の怖いのは、プレリリース版を使用しています。Microsoft.Azure.WebJobs
次のCRON時間を試しましたか? '0 */5 * * * *' – M0rty
それはそれでした。あなたが答えを書く場合、私はそれを正しい答えとしてマークすることができます。最終的に私は最初の星がなぜ1秒に1回走るのか理解できませんでしたが。最初の星は、基本的には「5分ごとに何回実行するか」というクロン・ステートメントを翻訳し、「分の開始時に5分ごとに実行する」と言う – Adrian