У меня есть приложение для тире, и самый простой способ его развернуть — через Heroku. У меня есть две части моего приложения: стример и интерфейс dash. Поток стримера твитит из твиттера через tweepy API, анализирует соответствующую информацию, создает базу данных SQLite, если она не существует, а затем заносит твиты в базу данных. Интерфейс dash просто берет твиты из базы данных по нисходящей временной метке Unix (т. е. отображает самые последние твиты) и отображает их на графике в реальном времени, где пользователь может ввести термин и увидеть живое отношение к этому термину.
Я знаю, что в Procfile вы определяете, какой процесс вы хотите запустить на дино через web: gunicorn app: server
, где app.py
— это файл Python, содержащий app.run_server
, но мне нужно, чтобы стример работал одновременно с интерфейсом dash, и они находятся в двух разных файлах .py. в моем проекте.
Я попытался поместить код в streamer.py
, который обрабатывает аутентификацию Twitter, запускает стример и создает базу данных SQLite, если она не существует в def main():
, а затем импортирует этот def main():
в app.py
, но когда я запускаю app.py
, он просто запускает стример и никогда не работает app.run_server
.
Есть ли способ запустить эти два процесса одновременно на Heroku?
worker: app.py & streamer.py & wait -n
? - person Diego Delgado   schedule 02.07.2020