如何评分 – 限制Google云端Pub / Sub Queue

我使用Google的Pub / Sub队列来处理服务之间的消息。 一些用户连接到速率限制API。

例如,我将街道地址推送到发布/订阅主题上。 我有一个Cloudfunction,通过推送订阅该主题,并呼叫外部限速地理编码服务。 理想情况下,我的街道地址可以毫不拖延地推到话题上,话题会保留这些消息 – 以限速的方式呼叫用户。

反正有configuration这样的延迟,或消息分发速率限制? 增加Ack窗口并没有什么帮助:我已经构build了这个系统来防止长时间运行的function。

解决你的问题的方法是使用: async.queue

你有一个可以pipe理速率限制的并发属性。

 // create a queue object with concurrency 2 var q = async.queue(function(task, callback) { console.log('hello ' + task.name); callback(); }, 2); // assign a callback q.drain = function() { console.log('all items have been processed'); }; // add some items to the queue q.push({name: 'foo'}, function(err) { console.log('finished processing foo'); }); // quoted from async documentation