Everything_is_bad, и вы все на своем... почитайте разные статьи об `aioshedule` на досуге и поймите, что все советуют менять шедулер. Тогда уж я распространенный и протестированный `apcheduler` возьму. К тому же вы сами говорите, цитирую:
ну так достань и сделай задачу в aioshedule, всё.
Значит мне все-таки придется использовать БД, верно? А вот как я буду "дожидаться" этой задачи (через `asyncio.sleep()` или ваш шедулер уже не имеет значение, вопрос не в этом состоял.
Everything_is_bad, к тому же вы хотите сказать, что этот ваш шедулер разрешает откладывать задачи более чем на неделю и они сто процентов выполнятся? Дайте мне аргументы, почему `aioshedule` имеет место быть, и я может подумаю, а не пишите бесполезные комментарии, никак не аргументируя свою точку зрения.
Everything_is_bad, вот нравится мне, как вы постоянно отвечаете на комментарии, даже не вникая в вопрос. Если хотите знать, я смотрел документацию вашего `aioshedule`, и для себя решил, что пользоваться им НЕ буду. Во-первых, мне НЕ нужна регулярность. Событий вообще может не быть, они могут быть отложены на очень долгое время, а в документации я не увидел ни слова о том, как исполнять события в конкретное время один раз. Это НЕ удобно. Я молчу вообще о том, что если упадет бот, то и исчезнут все задачи, ибо ни нигде не хранятся. Это меня совсем не привлекает. К тому же, если сам `celery` говорит о том, что задачи лучше не откладывать больше чем на несколько минут, то что уж говорить об `aioshedule`. Для меня это неизвестная библиотека. Более того, у меня версия питона 3.12, на которой он не протестирован, а гугля доку наткнулся на множество проблем с использованием `aioshedule` у других программистов.
Nemo Dev, да я блин уже боюсь тэги ставить, уже блокали за это. "Нерелевантные тэги"... В каком месте, интересно мне, они были нерелевантными? ) Или это я что-то не понимаю? )
Everything_is_bad, еще один вопрос : можно ли использовать обычный redis, а не aioredis? Просто для aioredis надо писать на пайтон 3.10: в Python 3.11 имя asyncio.TimeoutError сделано псевдонимом builtins.TimeoutError, и поэтому библиотека не работает. Хотелось бы использовать обычный redis и к методам моего кастомного класса добавить async. Так же тоже можно?
Everything_is_bad
Спасибо. Можно еще вопрос? Наверное, глупый...
У меня в боте уже реализован полноценный класс для работы с Redis. Он кэширует ответы на тест, чтобы его можно было пройти только один раз за определенный период времени, но это не суть важно.
Вопрос в том, если ли смысл делать методы этого класса асинхронными? И можно ли обойтись без этого?
Значит мне все-таки придется использовать БД, верно? А вот как я буду "дожидаться" этой задачи (через `asyncio.sleep()` или ваш шедулер уже не имеет значение, вопрос не в этом состоял.