我尝试使用AWS SQS以5批次接收来自SQS的消息,并希望制作5个不同的子过程,以便每个过程同时运行,当其中一个完成工作时,它会转弯返回到父进程,然后父进程可以调用AWS SQS的另一个作业。同样,这将使当前在服务器上运行的5个作业
编写的代码为:
const app = Consumer.create({
queueUrl: 'QUEUE_URL',
batchSize: 5,
region:"eu-west-1",
visibilityTimeout : 300,
handleMessage: (message, done) => {
for(var i in data.Messages)
{
console.log(JSON.parse(data.Messages[i].Body));
done();
}
},
sqs: new AWS.SQS()
});
app.on('error', (err) => {
console.log(err.message);
});
app.start();
在handlemessage()函数中,如何可以创建每个消息的多个子进程,然后在一个子进程完成执行时将其报告回一个父程进程,以便父程进程可以从AWS SQS呼叫其他消息?
谢谢大家
这是我以可扩展方式解决它的方法
Create a lambda to process each message.
Read Message from SQS and Call Lambda with Lambda API
从另一个lambda/外部过程中调用lamba:
http://docs.aws.amazon.com/awsjavascriptsdk/latest/aws/lambda.html#invoke-property
希望它有帮助。