Я пытаюсь настроить свое приложение, размещенное на EB, с помощью рабочего, который будет запускать некоторые базовые задания cron для подачи в базу данных RDS данных, которые использует приложение.
Я развернул это cron.yaml
вначале:
version: 1
cron:
- name: "count"
url: "/api/dostuff"
schedule: "* * * * *"
- name: "fetch"
url: "/api/dootherstuff"
schedule: "*/10 * * * *"
Что дало мне работника с серьезными проблемами со здоровьем
100.0 % of the requests are erroring with HTTP 4xx.
Зайдя в мой рабочий экземпляр ec2, я заметил это в моем access_log
127.0.0.1 (-) - - [23/May/2016:08:54:13 +0000] "POST /api/dostuff HTTP/1.1" 404 207 "-" "aws-sqsd/2.3"
Так что, по-видимому, он не нашел конечных точек. У меня создалось впечатление, что рабочий взаимодействует с моим основным приложением и пытается его опросить. Но может я ошибаюсь?
В любом случае, для дальнейшего тестирования я достал /api/dostuff
и /api/dootherstuff
из основного приложения и развернул его вместе с рабочим уровнем. В настоящее время состояние здоровья отображается зеленым цветом на панели инструментов EB, и это хорошо.
Но когда я проверяю свой RDS (кстати, я помещаю рабочий уровень в ту же группу безопасности, что и мой RDS, и тот же VPC). Он не заполнил базу данных новыми данными. Итак, я вошел в экземпляры и проверил access_log, который заполнен
127.0.0.1 (-) - - [23/May/2016:09:53:41 +0000] "POST /api/dostuff HTTP/1.1" 301 235 "-" "aws-sqsd/2.3"
Я имею в виду, он опрашивает каждую секунду с этим материалом.
Если я проверю SQS, там ничего особенного не происходит
Я настраиваю WorkerQueue на максимальное количество приемов 1000, поскольку мне не нужна вещь мертвой буквы.
Что я делаю не так? Как мне правильно настроить мои cron-задания?