Запуск telegram-бота с помощью uWSGI

У меня есть приложение Django, работающее на nginx+uWSGI.

Внутри моего приложения Django есть бот Telegram (python-telegram-bot). Это бот для длительного опроса, а не для Webhook.

Django часть в полном порядке, мне удалось настроить uWSGI и nginx.

Бот тоже в порядке, пока я запускаю его с:

python bot.py

Но я хочу запустить его с помощью uWSGI (режим императора), и я не могу найти никаких руководств о том, как заставить его работать.

Вот код моего бота (небольшая часть. На самом деле он состоит из десятка команд и использует модели Django):

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "app.settings")
import django
django.setup()

from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update
from telegram.ext import (
    Updater,
    CommandHandler,
    CallbackContext,
    PicklePersistence,
)
from app.secrets import tg_token


def start(update: Update, context: CallbackContext) -> None:
    update.message.reply_text('hi')


def main() -> None:
    persistence = PicklePersistence(
    filename='arbitrarycallbackdatabot.pickle', store_callback_data=True)
    # Create the Updater and pass it your bot's token.

    updater = Updater(tg_token, persistence=persistence, arbitrary_callback_data=True)

    updater.dispatcher.add_handler(CommandHandler('start', start))

    # Start the Bot
    updater.start_polling()

    # Run
    updater.idle()


if __name__ == '__main__':
    main()

Есть идеи, как настроить uWSGI для одновременного запуска моего приложения Django и bot.py?

Вернуться на верх