Heroku nodejs サーバーで Firebase Queue を使用して、かなり複雑なタスクを実行しています。
時々エラーがスローされることを除いて、問題なく動作します:
FIREBASE WARNING: transaction at queue/tasks/L5m5MTXLPHRfmaEeCLOjjkEjUIB3 failed: disconnect
そして、それが切断されると、タスクはなくなります。仕様に明記されていてもリトライは発生しません。
常に失敗するタスクの 1 つのコード
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 秒後にノードを削除する必要がある単純なタスクです。