Как работать с этим проектом
requirements
Единственная сторонняя библиотека, на которую есть ссылки в этом проекте - это pytest
.
Впрочем, если вы не будете запускать тесты, то и она вам не нужна
Встроенные тесты
Чтобы прогнать встроенные тесты, просто наберите в терминале (находясь в корне проекта)
Чтобы уточнить какие тесты вам нужны, а какие нет, можете отредактировать файлsetup.cfg
- раздел [tool:pytest]
.
Ваши функции
Создание Job
Если хотите, чтобы планировщик задач работал с какими-либо вашими функциями, то пакуйте функции и аргументы к ним в functools.partial
. Эта обёртка обеспечивает максимальную простоту.
def my_function(a, b, c):
...
return result
job_1 = Job(
[functools.partial(my_function, 10, 'Hello', {'a': 5 })],
start_at=...,
max_working_time=...,
tries=...,
dependencies=(..., ...)
)
functools.partial
должен быть в списке (или кортеже) и быть единственным его аргументом.
Примеры создания Job
смотрите в тестах (папка tests
).
Создание и запуск планировщика
Затем создайте Schedule и по очереди добавьте в него каждую Job
.
Остановка и перезапуск планировщика
Дальше если вы собираетесь прервать процессы с возможностью перезапуска когда угодно
Теперь когда угодно вы можете сделать рестарт
Технически рестарт осуществляется за счёт сохранённых бэкап-файлов в папкеbackup
.