2017-11-27 9 views
0

私は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(); 
     } 

    } 
} 

そして、これは私のログがどのように見えるかです: enter image description here

私はseriloggerが今日たるみとするフックアップしているので、私はまた、問題があると知っていますwebjobが爆破した。 1つのエラーメッセージを取得する代わりに、同じエラーメッセージのうち6つが1秒以内にすべてスローされます。私が試した何

:私たちが実行している6つのインスタンスを持っていなかったことを確認するために、スケールタブをチェックしました

。私たちは1つだけ走っています。私のクロンタイマーは正しいと思われ、この機能は5分しか実行されません。ここで唯一の怖いのは、プレリリース版を使用しています。Microsoft.Azure.WebJobs

+1

次のCRON時間を試しましたか? '0 */5 * * * *' – M0rty

+0

それはそれでした。あなたが答えを書く場合、私はそれを正しい答えとしてマークすることができます。最終的に私は最初の星がなぜ1秒に1回走るのか理解できませんでしたが。最初の星は、基本的には「5分ごとに何回実行するか」というクロン・ステートメントを翻訳し、「分の開始時に5分ごとに実行する」と言う – Adrian

答えて

0

問題は現在のCRON設定と関係しています。

基本的に* = すべての

ように、発現* */5 * * * *は、それが第二5分ごとに、それぞれを実行することを意味します。

0 */5 * * * *は、5分ごとに実行されることを意味します。

関連する問題