2017-11-27 7 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(); 
     } 

    } 
} 

그리고 내 로그처럼 보이는 방법이다 : 나는 또한 오늘 serilogger가 느슨하게 매여 가지고 있기 때문에 문제가 알고 enter image description here

webjob 폭발. 하나의 오류 메시지를받는 대신 동일한 오류 메시지 6 개가 모두 서로 1 초 이내에 던져졌습니다. 나는 무엇을 시도했다

: 우리가 실행 6 개 인스턴스를하지 않았는지 확인하기 위해 규모 탭을 확인했습니다

. 우리는 오직 하나만 운영합니다. 내 chron 타이머가 올바른 것 같아요 함수는 오직 5 분만 실행해야합니다. 여기서 유일한 무서운 것은 시험판 버전을 사용하고 있습니다. Microsoft.Azure.WebJobs

+1

다음 CRON 시간을 보았습니까? '0 */5 * * * *' – M0rty

+0

그게 전부 였어. 당신이 대답을 쓰면 나는 그것을 정답으로 표시 할 수 있습니다. 궁극적으로 왜 첫 번째 별이 1 초에 1 번 실행되는지 이해하지 못합니다. 첫 번째 별은 본질적으로 "5 분 간격으로 5 분마다 실행"이라고 말하며 "분당 시작시 5 분마다 실행"이라고 말하면서 chron 문을 번역합니다. – Adrian

답변

0

현재 CRON 설정과 관련된 문제입니다.

는 기본적으로 * = 모든

그래서 표현 * */5 * * * *는 두 번째 5 분마다 각을 실행하는 것을 의미합니다.

0 */5 * * * *은 5 분마다 실행된다는 것을 의미합니다.