Бот Python Telegram зависает при запуске AirflowPython

Программы на Python
Ответить
Anonymous
 Бот Python Telegram зависает при запуске Airflow

Сообщение Anonymous »

Я пытаюсь запустить бот Python Telegram через группу обеспечения доступности баз данных Airflow. Группа обеспечения доступности баз данных работает и выполняет бота, но не отвечает на команды.
Когда я запускаю файл вручную, ответы выполняются нормально.
Я использую Astro CLI 1.31.0 для запуска Airflow в контейнере докера. Я новичок в использовании Airflow.
Вот мой код. Я пытался использовать NO_PROXY = "*", но не получил результата.

Код: Выделить всё

import telebot
import os
from dags.manut.Consulta_Geoex_DAG_Bib import testa_cookie, abre, escreve_json
from airflow.api.client.local_client import Client

os.environ\['NO_PROXY'\] = '\*'

API_TOKEN = 'TOKEN VALUE'
bot = telebot.TeleBot(API_TOKEN)

c = Client(None, None)

cookie, gxsessao = '',''
data = abre('dags/manut/\_internal/cookie.json')

def run_bot(bot=bot):
print("Iniciando bot")

@bot.message_handler(commands=['help', 'start'])
def send_welcome(message):
bot.send_message(message.chat.id, """Bot para atualizar o status das Informações do Geoex.
""")

@bot.message_handler(commands=['cookie'])
def send_cookie(message):
msg = bot.send_message(message.chat.id, '''
Atualizando informações de acesso ao Geoex.
Insira o Cookie:
''')
bot.register_next_step_handler(msg,ler_cookie)

def ler_cookie(message):
global cookie
cookie = message.text
msg = bot.reply_to(message, 'Insira Gxsessao:')
bot.register_next_step_handler(msg, ler_gxsessao)

def ler_gxsessao(message):
global gxsessao, data
gxsessao = message.text
cookie_valido = testa_cookie(cookie=cookie, gxsessao=gxsessao)
if cookie_valido:
data['cookie']=cookie
data['gxsessao']=gxsessao
escreve_json('dags/manut/_internal/cookie.json',data)
c.trigger_dag(dag_id='cookie-manut')
msg = 'Informações atualizadas com sucesso!'
else:
msg = 'Dados inválidos.'
bot.reply_to(message, msg)

@bot.message_handler(commands=['pastas'])
def pastas(message):
c.trigger_dag(dag_id='pastas-projetos-controle')
msg = 'Atualizando status das pastas.'
bot.reply_to(message, msg)

@bot.message_handler(func=lambda message: True)
def echo_message(message):
bot.reply_to(message, 'Comando Inválido.')

bot.infinity_polling()

if __name__ == '__main__':
run_bot()
Изменить: я исправил это, добавив bot = telebot.TeleBot(API_TOKEN, threaded=False) . Понятия не имею, почему это все-таки работает, возможно, это был какой-то конфликт с потоками воздуха.

Подробнее здесь: https://stackoverflow.com/questions/793 ... by-airflow
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»