2016-10-23 3 views
0

Laravel에 이전 작업이 완료된 경우 예약 된 작업 만 실행하는 기능이 내장되어 있는지 궁금합니다.Laravel - 이전 작업이 완료된 경우에만 예약 된 작업 실행

몇 초마다 특정 작업을 실행할 필요가 있지만 작업이 연결을 끊을 수도있는 다른 호스트를 쿼리하는 데 의존합니다. 작업이 바로 큐

  • 에 작업을 넣어 가지고

    1. 플래그는 파일로 하나 (저장 데 : 존재하지 않는 경우

      는 몇 가지 방법 나는,이 일에 대해이 생각하는 또는 db에서), 작업의 시작 부분에 설정되고, finish에서 설정 해제됩니다.

    그냥 작업 스케줄러는

  • 답변

    0

    이 문서에서 답을 찾을 수 ... 내가 그 경로 중 하나를 아래로 가기 전에 내장 무언가가 기대 : D를

    https://laravel.com/docs/5.3/scheduling

    발췌 :

    작업 겹침 방지

    기본적으로 예약 된 작업은 이전 작업 인스턴스가 실행중인 경우에도 실행됩니다. 이를 방지하기 위해, 당신은 withoutOverlapping 방법을 사용할 수 있습니다 : 이미 실행중인 경우이 예에서

    $schedule->command('emails:send')->withoutOverlapping(); 
    

    을의 emails:send 장인 명령은 매 분마다 실행됩니다. withoutOverlapping 메서드는 실행 시간이 크게 달라지면 주어진 작업이 얼마나 오래 걸릴지 정확하게 예측할 수 없으면 특히 유용합니다.

    관련 문제