【发布时间】:2019-09-10 12:03:15
【问题描述】:
我有一个处理媒体的微服务,我需要提供我的微服务一次只处理一个请求。所以,我需要使用 Kue 库创建一个队列,如果有新请求,我需要一一推送。一旦第一个请求完成,然后转到下一个请求,但问题是我从未使用过基于队列的处理。请建议我怎么做?
exports['v1'] = (request, response) => {
/** Image processing and send to s3 */
const urls = request.body;
urls.forEach(async url => {
await bufferConvertUtil
.buffer(url)
.then(buffer => {
return processHelperApp.image(buffer, url);
})
.then(data => {
console.log(data);
})
.catch(error => {
console.log('errr ' + error);
fs.appendFile('log.txt', `"${url}",\n`, (err, data) => {
if (err) console.log(err);
});
});
});
responseUtil.success(response, 'done');
};
我需要使用 kue 或 rabbitmq 库将新请求添加到队列中。一旦一个队列完成,然后处理,然后处理下一个请求。
【问题讨论】:
标签: javascript node.js express rabbitmq kue