Laravel Beanstalk 작업 ID가 일치하지 않습니다.

브렛

저는 laravel 4.2를 사용하는 프로젝트를 진행 중이며 Beantalk 대기열에 작업을 보내고 있습니다. 작업자가 실행할 작업을 선택하면 작업 ID를 캡처하고 작업이 실패 할 경우이를 failed_jobs 테이블에 다시 연결하려고합니다.

문제는 Pheanstalk_Job->getId()메서드 에서 반환 된 ID가 failed_jobs테이블 의 항목 ID와 일치하지 않는다는 것 입니다.

나는 두 사람이 상관 관계가 있다고 생각하는데 주제 넘을 수있다. 그렇지 않다면 누군가가 내가 작업과 관련된 failed_jobs 레코드의 ID를 캡처하는 방법을 도울 수 있기를 바랍니다.

브렛

궁극적으로 작업 실패를 유발 한 예외와 failed_jobs테이블에 생성 된 항목 사이의 상관 관계를 생성하는 솔루션 에는 다음 단계가 포함되었습니다.

  1. 예외 필드 (예 : 예외 메시지, 코드, 파일, 행 및 beanstalkd 작업 ID에 대한 필드)를 포함하는 예외 테이블을 생성하는 마이그레이션을 생성했습니다.
  2. 다른 필드 인 beanstalkd 작업 ID도 추가하여 laravel이 제공 한 failed_jobs 스키마를 정확히 모델로 한 마이그레이션을 생성했습니다.
  3. 내 자신의 QueueServiceProvider를 만들고 내 자신의 구현으로 'queue.failer''queue.worker'서비스를 바인딩했습니다 . 내 '실패'구현은를 확장 Illuminate\Queue\Failed\DatabaseFailedJobProvider하고 단순히 beantalkd 작업 ID를 포함하는 삽입을 수행하는 방법을 추가합니다. 내 '작업자'구현은를 확장하고 메서드를 Illuminate\Queue\Worker재정 의하여 logFailedJob실패한 작업 삽입 메서드를 호출합니다.
  4. app/config/queue.php내가 포함, 'failed' => ['database' => 'mysql', 'table' => 'exception_failed_jobs']'exception_failed_jobs'라고 내 자신의 실패한 작업 테이블을 사용하는 laravel 말할 수 있습니다.
  5. 내 작업 핸들러 코드에서 fire 메소드는 내 비즈니스 로직을 try / catch로 감싸고 예외가 발생하면 beanstalkd 작업 ID를 포함하여 예외 테이블에 예외가 저장됩니다.

이제 발생한 모든 예외는 작업 ID를 통해 실패한 작업 레코드와 상관 관계가 있습니다. 이제 비즈니스는 작업 실패를 유발 한 예외를 확인하고 근본적인 문제를 수정하고 실패한 작업을 다시 시도할지 아니면 단순히 대기열에서 삭제할지 결정할 수 있습니다. 이 솔루션을 테스트했으며 필요한대로 정확히 작동합니다. 바라건대 이것은 동일한 요구 사항을 가진 다른 사람들에게 도움이되기를 바랍니다.

이 프로젝트를 4.2에서 최신 버전으로 마이그레이션하기를 기다릴 수 없습니다. 최신 laravel에 이미이 기능이 포함되어 있음을 알고 있습니다. :)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

ID 배열로 Laravel 시드가 작동하지 않습니다.

분류에서Dev

매개 변수가있는 laravel 5.3 작업이 작동하지 않습니다.

분류에서Dev

서버에 Laravel 4 설치가 작동하지 않습니다.

분류에서Dev

Vue / Laravel-업데이트시 파일 업로드가 작동하지 않습니다.

분류에서Dev

Laravel 5 작업 스케줄러 (메일 대기열 용)가 작동하지 않습니다.

분류에서Dev

Laravel Cashier 수량 증가 업데이트가 작동하지 않습니다.

분류에서Dev

Laravel 삭제 또는 업데이트가 작동하지 않습니다.

분류에서Dev

Laravel 작업자가 작업을 시도하지 않고 삭제합니다.

분류에서Dev

AWS의 Laravel 예약 작업이 작동하지 않습니다.

분류에서Dev

laravel 4의 cron 작업이 작동하지 않습니다.

분류에서Dev

Laravel 일대 다 모델 관계가 작동하지 않습니다.

분류에서Dev

Laravel 앱 업그레이드를 시작한 후 Custom Json Guard가 더 이상 작동하지 않습니다.

분류에서Dev

laravel 5.1에서 작곡가 업데이트 후 PHP artisan 명령이 작동하지 않습니다.

분류에서Dev

CRUD 작업에 리소스를 사용할 때 Laravel 5.2 경로가 작동하지 않습니다.

분류에서Dev

Laravel 다운로드가 작동하지 않습니다.

분류에서Dev

장고 파일 업로드가 작동하지 않습니다

분류에서Dev

AWS Elastic Beanstalk를 사용하는 Laravel 5.2의 세션이 쿠키, 파일 또는 데이터베이스로 SESSION_DRIVER에서 작동하지 않습니다.

분류에서Dev

패턴 일치가 작동하지 않습니다.

분류에서Dev

정규식 일치가 작동하지 않습니다.

분류에서Dev

정규식 일치가 작동하지 않습니다.

분류에서Dev

Laravel 마스터 페이지가 작동하지 않습니다.

분류에서Dev

Laravel의 VPS 페이지가 작동하지 않습니다.

분류에서Dev

Laravel 5.x 파일 업로드가 작동하지 않음

분류에서Dev

API를 통한 vuejs 및 laravel을 사용한 이미지 업로드가 작동하지 않습니다.

분류에서Dev

laravel의 이미지 업로드가 온라인에서 작동하지 않습니다.

분류에서Dev

유효성 검사에서 ID를 전달하여 업데이트에 대한 Laravel 고유 유효성 검사가 작동하지 않습니다.

분류에서Dev

laravel : laravel-5.8에서 양식 작업이 작동하지 않습니다.

분류에서Dev

.ebextension이 AWS Elastic Beanstalk에서 작동하지 않습니다.

분류에서Dev

Django crontab이 Elastic Beanstalk에서 작동하지 않습니다.

Related 관련 기사

  1. 1

    ID 배열로 Laravel 시드가 작동하지 않습니다.

  2. 2

    매개 변수가있는 laravel 5.3 작업이 작동하지 않습니다.

  3. 3

    서버에 Laravel 4 설치가 작동하지 않습니다.

  4. 4

    Vue / Laravel-업데이트시 파일 업로드가 작동하지 않습니다.

  5. 5

    Laravel 5 작업 스케줄러 (메일 대기열 용)가 작동하지 않습니다.

  6. 6

    Laravel Cashier 수량 증가 업데이트가 작동하지 않습니다.

  7. 7

    Laravel 삭제 또는 업데이트가 작동하지 않습니다.

  8. 8

    Laravel 작업자가 작업을 시도하지 않고 삭제합니다.

  9. 9

    AWS의 Laravel 예약 작업이 작동하지 않습니다.

  10. 10

    laravel 4의 cron 작업이 작동하지 않습니다.

  11. 11

    Laravel 일대 다 모델 관계가 작동하지 않습니다.

  12. 12

    Laravel 앱 업그레이드를 시작한 후 Custom Json Guard가 더 이상 작동하지 않습니다.

  13. 13

    laravel 5.1에서 작곡가 업데이트 후 PHP artisan 명령이 작동하지 않습니다.

  14. 14

    CRUD 작업에 리소스를 사용할 때 Laravel 5.2 경로가 작동하지 않습니다.

  15. 15

    Laravel 다운로드가 작동하지 않습니다.

  16. 16

    장고 파일 업로드가 작동하지 않습니다

  17. 17

    AWS Elastic Beanstalk를 사용하는 Laravel 5.2의 세션이 쿠키, 파일 또는 데이터베이스로 SESSION_DRIVER에서 작동하지 않습니다.

  18. 18

    패턴 일치가 작동하지 않습니다.

  19. 19

    정규식 일치가 작동하지 않습니다.

  20. 20

    정규식 일치가 작동하지 않습니다.

  21. 21

    Laravel 마스터 페이지가 작동하지 않습니다.

  22. 22

    Laravel의 VPS 페이지가 작동하지 않습니다.

  23. 23

    Laravel 5.x 파일 업로드가 작동하지 않음

  24. 24

    API를 통한 vuejs 및 laravel을 사용한 이미지 업로드가 작동하지 않습니다.

  25. 25

    laravel의 이미지 업로드가 온라인에서 작동하지 않습니다.

  26. 26

    유효성 검사에서 ID를 전달하여 업데이트에 대한 Laravel 고유 유효성 검사가 작동하지 않습니다.

  27. 27

    laravel : laravel-5.8에서 양식 작업이 작동하지 않습니다.

  28. 28

    .ebextension이 AWS Elastic Beanstalk에서 작동하지 않습니다.

  29. 29

    Django crontab이 Elastic Beanstalk에서 작동하지 않습니다.

뜨겁다태그

보관