Tag: 工作

开始meteor工作收集的工作

我正在使用meteor-job-collection ( https://github.com/vsivsi/meteor-job-collection ); 但是,我无法创造一份工作。 我有一个方法定义为 Meteor.methods( { insertItems: function ( dataArray ) { check( dataArray, [ Object ] ); dataArray.forEach( function ( element ) { […] } ); } } ); 但是这个方法对内存要求很高,所以我想把它包装在一个工作中。 我如何开始这项工作? 我努力了 var job = new Job( Jobs, 'insertItems', data ).priority( 'normal' ).retry( { retries: 5, wait: 15 * 60 * 1000 […]

在Heroku上的NodeJS worker重新启动后恢复排队的作业

所以我在Heroku上有一个相当简单的设置。 我正在使用RabbitMQ来处理后台作业。 我的设置由每天使用Heroku Scheduler插件运行的节点脚本组成。 这些脚本将作业添加到队列中,然后工作人员将其消耗并委托给单独的模块进行处理。 我收到一个SIGTERM事件, Heroku不时随机启动,重新启动实例之前,问题就开始了。 出于某种原因,在实例重新启动后,工作人员再也不会恢复。 只有当我通过做heroku ps:scale worker=0和heroku ps:scale worker=1来手动重新启动时,worker才会继续使用未完成的作业。 这是我的工人: // worker.js var throng = require('throng'); var jackrabbit = require('jackrabbit'); var logger = require('logfmt'); var syncService = require('./syncService'); var start = function () { var queue = jackrabbit(process.env.RABBITMQ_BIGWIG_RX_URL || 'amqp://localhost'); logger.log({type: 'msg', msg: 'start', service: 'worker'}); queue .default() .on('drain', onDrain) .queue({name: […]