aiogram bot на хостинге с cpanel

Есть телеграм бот написанный на python и библиотеке aiogram==2.25. Хочу залить на сервер с cpanel. Я создал Python приложение

введите сюда описание изображения

Мой бот локально запускается через main.py файл.

from data.loader import dp, executor
import handlers
from time import sleep

application = dp

executor.start_polling(dp, skip_updates=True)

В комплекте добавляется passenger_wsgi.py с такой заготовкой:

import os
import sys
import imp

sys.path.insert(0, os.path.dirname(__file__))


def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    message = '<a href="https://t.me/Tayyorobedexamplebot">Open tg-bot</a>\n'
    version = 'Python %s\n' % sys.version.split()[0]
    response = '\n'.join([message, version])
    return [response.encode()]

По инструкции в passenger_wsgi.py я добавлял:

wsgi = imp.load_sourse('wsgi', 'main.py')
application = wsgi.application

И в main.py добавил

application = dp

Ситуация такая. Я открываю сайт. Он пытается открыться и в этот момент бот работает. Сайт не важен. Просто нужен был домен для приложения. Но через 3-5 минут бот умирает. И чтобы бот заработал нужно снова открыть сайт.

При этом в пункте ошибок сервера появляется такая строка:

Could not spawn process for application /home/tayyorob/tayyorobedtest.uz: A timeout occurred while spawning an application process.

Помогите пожалуйста. Как сделать запуск бота правильно?

На обычных серверах чисто через консоль у меня получается. Но клиент хочет именно на этом сервере.


Ответы (1 шт):

Автор решения: Jordano Bruno

1.Создаете приложение питон. 2.Активируете виртуальную среду. 3.Ставите зависимости. Больше ничего настраивать не нужно в cpanel. Для запуска, авто перезапуска рекомендую использовать supervisor, ну и разобраться со screen. (https://pypi.org/project/supervisor/) Читаем, разбираемсяэ.

→ Ссылка