3

我在 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 秒后删除一个节点。

4

0 回答 0