2016-12-02 71 views
0

我有一个拥有〜300k任务的Firebase队列。我构建它像这样:如何查看Firebase队列中剩余的任务数量?

const db = getDatabase() 
const scrapeQueueRef = db.ref('/queue/taskQueue') 
const queue = new Queue(scrapeQueueRef, (data, progress, resolve, reject) => { 
    // do things 
    resolve() 
}) 

我觉得new Queue调用下载整个节点并将其保存在内存中的工人完成任务(基于数据库的带宽测量)。

由于它已经在内存中,有没有办法访问队列中剩余的任务数量?我希望避免通过调用scrapeQueueRef.once()来重新下载整个节点,但是我想将剩余的#个任务添加到我的日志中。

回答

1

firebase不允许您在不下载整个节点的情况下运行计数。我的建议是在你更新的firebase中保留一个计数器,并且你可以直接链接。

+0

谢谢@matthew berg。我知道无法下载节点(除了使用REST API并设置“shallow:true”)之外,我无法获得计数,但是使用'worker queue',我认为该节点是无论如何下载的。所以我想知道是否有办法从队列中获取数据,从而避免重复计数。 – Brandon