HarismatikЧто он делает?
создаю Discord бота
passantНу ведь ни разу не секрет, я достаточно детально описал что делает бот)))
О параллельных процессах слыхали?1. Создаете отдельный процесс. Как - зависит от логики вашего приложения, который вы таинственно скрываете. Может- как совершенно отдельный процесс. Может ваш бот сам порождает этот процесс. Может еще каким образом.2. Теперь ваш порожденный процесс (если он создан правильно) живет отдельной жизнью и никак не влияет на породивший его процесс. Соответственно, sleep в порожденном процессе никак не влияет (не тормозит) породивший его процесс. 3. Просыпаться этот процесс может по известному вам алгоритму, делать свое дело (проверять, удалять и пр.) и вновь переходить в режим засыпания. При этом сам бот вообще никоим образом не знает (и не влияет) на порожденный процесс. Как и наоборот.
HarismatikЭто самое важное - точно выразить задачу и все цели в ней, прежде чем начинать писать код. Вот у меня есть сомнение на этот счёт, что ты правильно всё сделал.
Это не так важно
HarismatikТак вот ниоткуда не следует, что его надо было реализовывать. Он может оказаться весь неправильно написанным изначально и весь великий труд запросто может оказаться напрасным.
Весь функционал я уже реализовал
HarismatikКонечно есть.
Есть примеры того, как создать отдельный процесс в котором будет постоянно выполнятся функция?
from threading import Timer def job_function(): Timer(10, job_function).start () print("Hello word") job_function()
from apscheduler.schedulers.blocking import BlockingScheduler sched = BlockingScheduler() @sched.scheduled_job('interval', seconds=10) # запускать задание каждые 10 сек def timed_job(): print('This job is run every 10 seconds.') @sched.scheduled_job('cron', day_of_week='mon-fri', hour=10) # запускать c понедельника по пятницу в 10.00 def scheduled_job(): print('This job is run every weekday at 10am.') sched.start()