отсюда сделал пустой скедулер чтобы из веб-сервиса и очереди можно было кидать джобы на выполнение, а в отдельном процессе крутится уже блокинг, который должен принимать и отрабатывать джобы
проблема в том, что этого не происходит
в редис (это мой джобстор) все кидается нормально, но скедулер не подхватывает почему-то
код, в котором создаю отдельный скедулер самый простой
redis_url = urlparse(config.redis_url)
jobstore = RedisJobStore(
host=redis_url.hostname,
port=redis_url.port,
db=int(redis_url.path.strip("/")),
)
scheduler = BlockingScheduler()
scheduler.add_jobstore(jobstore)
в чем может быть проблема?
а шедулер запускаешь вообще?
ну разумеется)
if config.debug: logging.getLogger("apscheduler").setLevel(logging.DEBUG) scheduler.start()
пишет вообще Looking for jobs to run?
опа, а такого и нет как раз
а сделай для прикола apscheduler.util.TIMEOUT_MAX = 1
scheduler.wakeup() перед стартом попробуй
File "...\scheduler.py", line 21, in <module> scheduler.wakeup() File "...\apscheduler\schedulers\blocking.py", line 35, in wakeup self._event.set() ^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'set'
давай тогда так def wakeup(): time.sleep(5) scheduler.wakeup() Thread(targe=wakeup).start()
Обсуждают сегодня