Есть ли модуль Python для получения следующей среды выполнения из определения времени в стиле crontab?

Я пишу приложение для информационной панели, и мне нужен способ выяснить, как долго элемент является "действительным", т.е. когда он должен быть заменен новым значением (возможна ошибка, из-за которой следующее значение никогда не появится) .

Поскольку я знаю расписание процессов, создающих данные, я могу определить действительность как «до следующего раза, когда процесс должен был запуститься».

Я думал, что формат crontab для задания расписаний очень компактен (то есть его легко хранить в базе данных), а также легко понять.

Наконец, вопрос: существует ли модуль Python, который при задании текущего времени и спецификации crontab (например, «25 5 * * *») возвращает дату и время, указывающее следующую среду выполнения?


person thebjorn    schedule 16.11.2010    source источник
comment
Возможный дубликат stackoverflow.com/questions/1511854 /   -  person mjhm    schedule 16.11.2010
comment
Это дубликат, но на этот вопрос также никогда не был дан ответ... Очевидный путь здесь - начать с Python-crontab и просто улучшить его для поддержки того, что вы ищете (должна быть относительно простая гимнастика с модулем datetime один раз у вас есть проанализированная строка).   -  person Nick Bastin    schedule 16.11.2010


Ответы (1)


Я столкнулся с некоторыми проблемами при использовании кода (с http://www.koders.com/python/fidA55A9DB55093A78DD26B55C606B267B2C5063A79.aspx?s=config) и исправили некоторые из них. Бывало, перерывы переходили от одного месяца к другому. next_run теперь работает нормально, но prev_run застревает, начиная с предыдущего месяца (вместо сбоя он зацикливается)

Вот репозиторий git, который я настроил, чтобы продолжить работу над ним:

https://github.com/RFDaemoniac/crontab_parser

person Robinson Farrar    schedule 29.07.2011