我在Heroku nodejs服务器上使用Firebase Queue来执行一些相当复杂的任务。
它的工作正常,但有时会引发错误:
FIREBASE WARNING: transaction at queue/tasks/L5m5MTXLPHRfmaEeCLOjjkEjUIB3 failed: disconnect
当它断开连接时,任务就消失了。即使在规范中指定,也不会发生重试。
其中一个总是失败的任务的代码
var queue = new Queue(ref.child('queue'), options, function(data, progress, resolve, reject) {
progress(50).catch(function(errorMessage) {
reject(errorMessage);
});
setTimeout(function() {
ref.child(data.level).set(null, function(error) {
if (error) reject();
else
resolve();
});
}, 16000);
});
这只是一个简单的任务,必须在16秒后删除一个节点。