2016-12-02 63 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

相關問題