Queue&的工作活动? CSV文件导入和处理

时间:2017-09-05 03:22:46

标签: php jquery laravel csv

我需要添加允许用户上传.csv文件(+ - 300行数据)的功能,然后处理文件......步骤如下:

  1. 用户上传.csv文件
  2. .csv文件保存到S3
  3. 验证.csv文件中的每一行并将其导入数据库表(+ - 300行)
  4. 生成单个PDF报告并保存到S3(导入数据库的每行数据一个),即。 + - 生成300个PDF报告并保存到S3。
  5. 将所有PDF压缩到一个文件中并保存到S3
  6. 作业完成后会通知用户(并可以下载zip)。 根据您的经验,如果使用第三方服务,那么实现这一目标的最有效方法是不可能的(除了AWS提供的那些)
  7. 我倾向于......上传.csv文件并保存到S3后,排队所有其他任务,并在作业完成后向用户发送电子邮件?我怎么能处理所有这些。用户可以上传csv文件并启动该过程,并在作业完成时注意到它。

    非常感谢。

    感谢。

1 个答案:

答案 0 :(得分:1)

AWS为这种情况提供了一些很好的工具。首先,您应该使用AWS Lambda的S3存储桶触发器。它将在上传文件时运行代码。从那里,您可以完成所有工作,也可以使用SQS或其他消息传递解决方案来扇出要并行处理的消息。然后,如果需要,可以使用单独的过程将这些任务中的每一个捆绑到一个zip文件中,并且可以使用SNS或SES发送电子邮件,SMS或推送通知。

AWS SWF和StepFunction都可用于协调所有步骤和工作流程。