복붙노트

[REDIS] Node.js를 쿠에 실패한 작업을 다시 시작하는 방법

REDIS

Node.js를 쿠에 실패한 작업을 다시 시작하는 방법

내 Node.js를 응용 프로그램에서 지연 작업에 KUE을 사용하고 있습니다.

나는 레디 스 명령을 사용하여 비활성 작업 목록에 실패한 작업의 목록에서 수동으로 작업의 ID를 이동하지 않고도 KUE의 API를 사용하여 작업을 다시 시작할 수있는 방법을 알아낼 수있는 몇 가지 문제가있다.

이 가능하여 KUE인가?

나는 재시 고정 된 수를 설정하지 않으 - 난 그냥 특정 작업을 다시 시도합니다.

KUE에 잘 관리 대안에 대한 제안도 환영합니다.

해결법

  1. ==============================

    1.이 노력하고 있지만 활성화에 작업의 상태를 다시 시도하고 작업을 다시 저장할 수 있다면 난 몰라 :

    이 노력하고 있지만 활성화에 작업의 상태를 다시 시도하고 작업을 다시 저장할 수 있다면 난 몰라 :

    job.on('failed', function() {
      job.state('inactive').save();
    

    편집 : 비활성에 상태를 설정하면 제대로 작업을 다시 큐에 넣습니다.

  2. ==============================

    2.이것은 또한 큐 수준의 이벤트를 사용하여 수행 할 수 있습니다.

    이것은 또한 큐 수준의 이벤트를 사용하여 수행 할 수 있습니다.

    queue.on('job failed', function(id, result) {
        kue.Job.get(id, function(err, job) {
            if (!err && shouldRetry(job))
                job.state('inactive').save();
        });
    });
    

    따라서 당신은 당신이 재 시도하고자하는 모든 작업에 대해 수행 할 필요가 없습니다. 대신 당신은 큐 레벨 이벤트를 필터링 할 수 있습니다.

  3. ==============================

    3.공식 문서에서 실패 시도를 참조하십시오

    공식 문서에서 실패 시도를 참조하십시오

     queue.create('email', {
         title: 'welcome email for tj'
       , to: 'tj@learnboost.com'
       , template: 'welcome-email'
     }).priority('high').attempts(5).save();
    

    참조 : 실패 시도

  4. from https://stackoverflow.com/questions/14280962/node-js-kue-how-to-restart-failed-jobs by cc-by-sa and MIT license