我的设计应如何处理bulkupload csv

时间:2019-05-09 07:14:26

标签: php mysql amazon-web-services amazon-sqs

我在体系结构设计上存在缺陷,因此想消除它。

问题陈述:我有一个CSV批量上传,其中包含100或更多行,这些行被添加到sqs中(不按顺序)以消耗和命中API,并获得响应并将其保存到mysql DB,如果失败然后它会为每个失败的api发送邮件。

但是我希望发送一封失败api的邮件而不是发送100封电子邮件

1 个答案:

答案 0 :(得分:0)

您需要找到一种跟踪第100行(作业)处理的方法,以便最终可以执行“发送电子邮件”任务。您可以通过以下方式实现它

在新的MYSQL表中保留带有sucess_apis,failure_apis,total_apis和no_apis_completed的记录

由SQS使用者处理每个作业(行)后,将计数no_apis_completed,sucess_apis计数(如果成功),failure_apis(如果失败)加1

在处理任何作业之前,获取no_apis_completed列值,如果当前正在处理的作业是第100个,则可以发送电子邮件 OR ,您还可以将具有不同任务名称的条目汇总到SQS队列中,然后可以在SQS使用者中使模块对接收发送电子邮件类型的任务执行“发送电子邮件”操作