Как запланировать запуск сценария c # на AWS? - PullRequest
0 голосов
/ 04 июня 2018

На самом деле я провел некоторое исследование для запуска задания CRON в AWS, но не нашел ни одного хорошего документа, объясняющего, как периодически запускать сценарий c # в AWS.

Я обнаружил, что мы можем сделать это с CloudWatch +Лямбда, но это не поможет в моем случае, потому что у Лямбды есть максимальный тайм-аут 5 минут.

Затем я приступил к дополнительному исследованию этого вопроса и обнаружил, что существует «AWS Elastic Beanstalk», у которого есть два варианта выбора среды:

Web server environment
Worker environment

enter image description here

Но здесь мы не можем создать скрипт для .NET C # для рабочей среды.Итак, каковы еще варианты создания заданий cron в AWS?

1 Ответ

0 голосов
/ 04 июня 2018

Я делаю это путем создания собственного хоста c # /. Net webapi в качестве службы Windows, работающей на моем экземпляре ec2.

Основной цикл этой службы webapi / windows опрашивает выделенную очередь SQS для 'заданий''для завершения.

Затем я использую события облачного хранилища aws, чтобы поместить эти задания в очередь SQS с желаемым интервалом.т. е. каждый час, каждый день, каждые 5 минут и т. д.

Это не так просто, как просто вставить сценарий ac # в другое место и указать, когда его запускать, но это дает вам хорошую гибкую структуру для вывешивания множества пользовательскихзадания, выполнение которых занимает много времени и должно выполняться на регулярной основе.

...