【问题标题】:How to schedule c# script to run on AWS?如何安排 c# 脚本在 AWS 上运行?
【发布时间】:2018-06-05 04:35:40
【问题描述】:

实际上我已经做了一些研究以在 AWS 上运行 CRON 作业,但没有找到任何好的文档来解释如何在 AWS 中定期运行 c# 脚本。

我发现我们可以使用 CloudWatch + Lambda 做到这一点,但在我的情况下这无济于事,因为 Lambda 最多有 5 分钟超时。

然后我开始对此进行更多研究,发现有一个“AWS Elastic Beanstalk”有两个选择环境的选项:

Web server environment
Worker environment

但是在这里我们不能为工作环境创建 .NET C# 的脚本。 那么在 AWS 上创建 cron 作业还有哪些其他选择?

【问题讨论】:

    标签: c# amazon-web-services cron


    【解决方案1】:

    我通过创建一个自托管的 c#/.net webapi 作为在我的 ec2 实例上运行的 Windows 服务来做到这一点。

    此 webapi/windows 服务的主循环轮询专用 SQS 队列以完成“作业”。

    然后,我使用 aws cloudwatch 事件以所需的时间间隔将这些作业放入 SQS 队列。即每小时、每天、每 5 分钟等。

    这不像只是将 c# 脚本粘贴到某个地方并告诉它何时运行那么简单,但它确实为您提供了一个很好的灵活框架,用于挂起大量需要很长时间才能运行的自定义作业,并且需要在定期。

    【讨论】:

    • 谢谢@E.J.布伦南,这很有帮助。但是,如果我只创建一个窗口服务,然后它会轮询一个专用的 SQS 队列,是否有可能?如果您有任何解释它的教程的链接,那就太好了。
    猜你喜欢
    • 2016-09-29
    • 2021-08-17
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 2018-12-16
    • 2010-10-01
    • 1970-01-01
    相关资源
    最近更新 更多