Я хочу отправить некоторое сообщение после задержки, используя Celery. После того, как пользователи получают сообщение, его состояние запускает новое. Для этого мне нужно отправить объект telebot.types.Message в качестве аргумента в задачу Celery. Как я могу сделать это правильно?
Моя функция перехода для запуска задачи Celery:
def delay_message(self, event):
celery_utils.delay_message.apply_async(kwargs={'response': self.response}, countdown=1) # self.response is telebot.types.Message
Задача Celery:
@celery.task()
def delay_message(response):
machine = routes.DialogMachine(transitions=app.config['transitions'])
machine.response = response
machine.send_random_motivation_message()
В send_random_motivation_message()
мне нужны telebot.types.Message в качестве self.response, но не может отправить этот тип в задачу Celery.