自动化从命令行运行流程的最佳方式(通过AWS)

时间:2016-02-01 16:25:22

标签: amazon-web-services web-applications queue saas amazon-data-pipeline

我正在开发一个Web应用程序,使用AWS提供软件作为基于Web的服务,但我坚持实施。

我将使用内容管理系统(可能是Joomla)来管理用户登录和前端任务,例如接收文件上传作为输入。提供服务的程序需要从命令行运行。但是,我不确定自动执行此过程的最佳方法是什么(一旦收到输入文件就启动程序)。这是一个密集的程序,每个程序至少需要一个小时,如果一次有多个输入,应该按顺序运行,因此需要有一个队列,队列中的每个元素都记录文件路径输入文件的输出文件,输出文件夹的文件路径,以及最好在作业完成时发送通知的电子邮件。

我已经研究过亚马逊数据管道和AWS简单工作流服务,以及简单队列服务和简单​​通知服务,但我仍然不确定这些是如何用于触发流程的开始,从输入开始文件正在上传。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

有许多方法可以构建这种类型的过程;这是一种可行的方法:

  1. 在上传时,将文件上传到S3存储桶,以便以后任何实例都可以访问它。

  2. 在上传过程中,向SQS队列发送一条消息,其中包括上传文件的桶/密钥,以及上传该文件的用户的电子邮件。

  3. 使用Lambda或在特定构建的实例上使用cron进程,检查SQS队列,并处理每个请求。

  4. 进入处理阶段,在流程完成后将电子邮件通知添加到用户。

答案 1 :(得分:0)

您绝对可以使用数据管道来自动执行此过程。

查看托管前置条件和以下示例。

http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-concepts-preconditions.html https://github.com/awslabs/data-pipeline-samples/tree/master/samples