Slack Modal не открывается в Kubernetes, работает локальноPython

Программы на Python
Anonymous
Slack Modal не открывается в Kubernetes, работает локально

Сообщение Anonymous »

У меня есть бот Slack, работающий в моей службе Kubernetes Python, но иногда модальное окно «проверки» вообще не открывается. Тот же бот прекрасно работает на моей локальной машине.
Локально код работает нормально, но в Kubernetes модальное окно иногда не отображается, и я не получаю никаких журналов ошибок. Что может вызвать такое поведение и как его устранить?
Примечания.

[*]Бот работает в Kubernetes. pod с использованием SocketModeHandler.
[*]Мне интересно, существуют ли ограничения сети или ресурсов в среде Kubernetes.
Есть идеи, почему это может происходить?

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

from slack_bolt import App
from slack_bolt.adapter.socket_mode import SocketModeHandler

class SlackModalHandler:
def __init__(self):
self.itcc_number = ''

def open_modal(self, ack, client, body, command):
ack()
view = self.get_view_json('open')
client.views_open(trigger_id=command["trigger_id"], view=view)

def validate_and_handle_itcc_submission(self, body, client):
self.itcc_number = body["view"]["state"]["values"]["itcc_input"]["itcc_text_input"]["value"]
validating_view = self.get_view_json('validating')

client.views_open(trigger_id=body["trigger_id"], view=validating_view)
# Simulate validation logic
if self.itcc_number == "valid":
final_view = self.get_view_json('template')
else:
final_view = self.get_view_json('error')

client.views_update(view_id=body["view"]["id"], view=final_view)

def get_view_json(self, page):
# Stub method for loading view JSONs
return {"type": "modal", "title": {"type": "plain_text", "text": page}}

# App initialization
slack_bot_token = 'your-slack-bot-token'
slack_app_token = 'your-slack-app-token'

app = None
try:
app = App(token=slack_bot_token, name="Deployment Requests Test")
slackbot_handler = SlackModalHandler()
except Exception as e:
print(f"Failed to load SlackBot token: {str(e)}")

if app is not None:
@app.command("/prod_team_test")
def handle_some_command(ack, client, command, body):
ack()
slackbot_handler.open_modal(ack, client, body, command)

@app.view("message_modal")
def handle_itcc_submission(ack, client, body):
ack()
slackbot_handler.validate_and_handle_itcc_submission(body, client)

# Start the Slack bot using SocketModeHandler
def slackbot_starter():
try:
handler = SocketModeHandler(app, app_token=slack_app_token)
handler.start()
except Exception as e:
print(f"Failed to load Slack App Token: {str(e)}")

slackbot_starter()
Я пробовал следующее:

[*]Запуск бота Slack локально на моем компьютере, где открывается модальное окно и каждый раз проверяется идеально.
[*]Я развернул тот же код в своей службе Kubernetes, но иногда модальное окно «проверки» не открывается. Журналов ошибок нет, и все остальное в боте, похоже, работает нормально.
Я ожидал, что модальное окно всегда будет открываться так же, как локально, но в среде Kubernetes оно периодически дает сбой. Я подозреваю, что это может быть связано с ограничениями ресурсов или задержкой сети в модуле Kubernetes, но я не знаю, как это подтвердить или исправить.
Любая информация или предложения по устранению неполадок будут полезны!


Подробнее здесь: https://stackoverflow.com/questions/789 ... ks-locally

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