Wdrażanie aplikacji dla pracowników .NET za pomocą Elastic Beanstalk

Pracuję nad szerszą aplikacją internetową wykorzystującą infrastrukturę AWS. Posiada dwa komponenty „pracownika”, które odczytują pracę z SQS i zapisują wyniki w bazie danych RDS. Jednym z nich jest Python i już pracuję nad pojedynczą instancją Elastic Beanstalk. Drugi używa .NET i obecnie pracuję nad jego wdrożeniem. W przypadku produkcji oba będą elastyczne z wieloma przypadkami.

Ponieważ te komponenty przetwarzania nie są aplikacjami internetowymi (tj. Nie odpowiadają na żądania http), muszę je wyraźnie wyłączyć. W przykładzie Pythona używam pliku .ebextensions:

container_commands:
  02-start-command:
    command: "nohup python scannerapp.py > foo.out 2> foo.err < /dev/null &"
    leader_only: false

Jak mogę zrobić to samo z aplikacją .NET? Podobnie jak w powyższym przykładzie Pythona / Linuksa, plik konfiguracyjny systemu Windows obsługuje polecenia „Polecenia” i „Polecenia kontenera”, ale są one przeznaczone dla programów startowych (np. Instalatorów). To znaczy. uruchamianie / instalacja nie kończy się, dopóki polecenie nie zakończy pracy. Polecenie nohup rozwiązuje problem Pythona. Jak to zrobić za pomocą aplikacji pracownika .NET?

Czy może jest to zbyt trudne i powinienem rozważyć przeniesienie do MONO i użycie jednej z opcji Linuksa? (Oczekuje się, że koszty eksploatacji MONO będą bardziej opłacalne, więc jest już na liście spraw do załatwienia w przyszłości)

questionAnswers(1)

yourAnswerToTheQuestion