2016-04-06 3 views
1

文書の例では、我々は見ることができます:firebase-queueのSpecIdでnodejsを使ってタスクをプッシュするにはどうすればいいですか?

var Queue = require('firebase-queue'), 
    Firebase = require('firebase'); 

var ref = new Firebase('https://<your-firebase>.firebaseio.com'); 
var queueRef = ref.child('queue'); 
var messagesRef = ref.child('messages'); 

var options = { 
    'specId': 'new_user' 
}; 

new Queue(queueRef, options, function(data, progress, resolve, reject) { 
    // sanitize input message 
    console.log(data.message); 

    // pass sanitized message and username along to be fanned out 
    resolve(data); 
}); 

このプッシュキューをトリガしない方法specId new_userまたはその他のカスタムspecId

var task = {'userId': "0338ba4d-191f-4044-9af0-4c76f47aeef9"}; 

ref.child("queue").child("tasks").push(task); 

で新しいタスクを保存します。 私はキューからoptionsを削除した場合、それは(もちろん)作業

答えて

4

TLを行い、DRは仕様のためstart_stateは、タスクの_stateと一致する必要があります。

各スペックの定義をFirebaseキューにプッシュする必要があります。例えば、

ref.child('queue/specs').set({ 
    new_user: { 
    start_state: 'add_new_user', 
    in_progress_state: 'add_new_user_in_progress' 
    } 
    }); 

ここでnew_userは、キューに指定したspecIdです。ここでタスクをプッシュするときは、_statestart_stateに設定する必要があります。例えば、

var task = {'userId': "0338ba4d-191f-4044-9af0-4c76f47aeef9", '_state': 'add_new_user'}; 
ref.child("queue").child("tasks").push(task); 

は今、このタスクは、公式firebaseキューのドキュメントで specId new_user

読むthisthisで扱うタスクに作成されたキューをピックアップする必要があります。

関連する問題