【问题标题】:Best way to automate a process to be run from command line (via AWS)自动化从命令行运行的流程的最佳方法(通过 AWS)
【发布时间】:2016-02-01 16:25:22
【问题描述】:

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

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

我已经研究过 Amazon Data Pipeline 和 AWS Simple Workflow Service,以及 Simple Queue Services 和 Simple Notification Services,但我仍然不确定如何使用这些来触发流程的启动,从输入开始正在上传文件。

任何帮助将不胜感激!

【问题讨论】:

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


    【解决方案1】:

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

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

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

    3. 使用 Lambda 或使用专用实例上的 cron 进程检查 SQS 队列并处理每个请求。

    4. 进入处理阶段,在处理完成后给用户添加邮件通知。

    【讨论】:

    • 感谢您的回答。和这个模式有什么不同吗:aws.amazon.com/blogs/compute/…
    • 否 - 与我的建议非常相似。我喜欢 ECS 部分。唯一没有考虑的是最终的电子邮件通知,这是微不足道的。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-28
      • 1970-01-01
      • 1970-01-01
      • 2022-06-15
      • 2012-04-25
      • 2018-07-16
      • 2018-10-22
      相关资源
      最近更新 更多