Задать вопрос
@Yevgeni

Почему threading выполнятеся снова и снова в приложении flask которое захостено на Heroku?

Мой __init__.py
from flask import Flask, request
from telebot import TeleBot
from configs import telegram_config

bot = TeleBot(telegram_config.TELEGRAM_API_TOKEN)

app = Flask(__name__)
app.config.update(
    DEBUG=False
)

from bot_functions import news_publisher
from app import views


Файл в котором размещен код с функцией которая должна выполнятся параллельно:
from app import bot
from time import sleep
from threading import Thread
from random import randint

def sender():
    while True:
        print('turned on')
        random_time = randint(60, 90)
        sleep(random_time)


t = Thread(target=sender, name='sender')
t.start()


так вот. Функция sender выполняется постоянно без остановки да еще и дублируется при старте.

Может быть кто знает как решить данную проблему?

Вот на всякий мой Procfile web: gunicorn app:app и лог с heroku:
2018-05-28T15:08:52.189169+00:00 app[web.1]: [2018-05-28 15:08:52 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:8)

2018-05-28T15:08:52.189364+00:00 app[web.1]: [2018-05-28 15:08:52 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:9)

2018-05-28T15:08:52.190164+00:00 app[web.1]: [2018-05-28 15:08:52 +0000] [8] [INFO] Worker exiting (pid: 8)

2018-05-28T15:08:52.191280+00:00 app[web.1]: [2018-05-28 15:08:52 +0000] [9] [INFO] Worker exiting (pid: 9)

2018-05-28T15:08:53.197374+00:00 app[web.1]: [2018-05-28 15:08:53 +0000] [18] [INFO] Booting worker with pid: 18

2018-05-28T15:08:53.205160+00:00 app[web.1]: [2018-05-28 15:08:53 +0000] [19] [INFO] Booting worker with pid: 19
  • Вопрос задан
  • 136 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Почитайте "12 факторов", чтобы понять как работает Heroku и почему для этой платформы нельзя писать программы так, как вы написали.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽