Итак, я создал приложение для чата и развернул его с помощью heroku. Так как я нахожусь на hobby-dev, у меня может быть только 20 соединений с postgres, поэтому, следуя некоторым советам в Интернете, я решил, что использование pgbouncer может быть хорошей идеей. Документ heroku по настройке пакета сборки (например, последняя часть https://devcenter.heroku.com/articles/python-concurrency-and-database-connections#number -of-active-connections ) ограничен, и все, что я нашел, попросило меня что-то изменить в Procfile. Проблема в том, что я использовал контейнер docker и, таким образом, использовал heroku.yml и команду daphne для запуска программы. Непосредственное добавление bin/start-pgbouncer
в веб просто вызывает сбой всего приложения.
Это моя текущая команда запуска
run:
web: daphne test_project.asgi:application --port $PORT --bind 0.0.0.0 -v2
Я пытался
run:
web: bin/start-pgbouncer-stunnel daphne test_project.asgi:application --port $PORT --bind 0.0.0.0 -v2
и
run:
web: start-pgbouncer-stunnel daphne test_project.asgi:application --port $PORT --bind 0.0.0.0 -v2
Оба не удалось. Я также обнаружил в логах heroku, что heroku, кажется, автоматически добавляет /bin/sh -c
к моей команде запуска (например, /bin/sh -c daphne\ test_project.asgi:application\ --port\ \53166\ --bind\ 0.0.0.0\ -v2
).
Может ли это быть причиной проблемы? Что я должен добавить в веб, чтобы запустить pg-bouncer вместе с моим приложением?