schedule README

The project's README from github.com/dbader/schedule. As one markdown file: README.md.

schedule <https://schedule.readthedocs.io/>__

.. image:: https://github.com/dbader/schedule/workflows/Tests/badge.svg :target: https://github.com/dbader/schedule/actions?query=workflow%3ATests+branch%3Amaster

.. image:: https://coveralls.io/repos/dbader/schedule/badge.svg?branch=master :target: https://coveralls.io/r/dbader/schedule

.. image:: https://img.shields.io/pypi/v/schedule.svg :target: https://pypi.python.org/pypi/schedule

Python job scheduling for humans. Run Python functions (or any other callable) periodically using a friendly syntax.

Usage

.. code-block:: bash

$ pip install schedule

.. code-block:: python

import schedule
import time

def job():
    print("I'm working...")

schedule.every(10).seconds.do(job)
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every(5).to(10).minutes.do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
schedule.every().day.at("12:42", "Europe/Amsterdam").do(job)
schedule.every().minute.at(":17").do(job)

def job_with_argument(name):
    print(f"I am {name}")

schedule.every(10).seconds.do(job_with_argument, name="Peter")

while True:
    schedule.run_pending()
    time.sleep(1)

Documentation

Schedule's documentation lives at schedule.readthedocs.io <https://schedule.readthedocs.io/>_.

Meta

Daniel Bader - @dbader_org <https://twitter.com/dbader_org>_ - [email protected]

Inspired by Adam Wiggins' <https://github.com/adamwiggins>_ article "Rethinking Cron" <https://adam.herokuapp.com/past/2010/4/13/rethinking_cron/>_ and the clockwork <https://github.com/Rykian/clockwork>_ Ruby module.

Distributed under the MIT license. See LICENSE.txt <https://github.com/dbader/schedule/blob/master/LICENSE.txt>_ for more information.

https://github.com/dbader/schedule

schedule (dbader/schedule)

Searching Database…

12.3K ·GitHub
Что это такое?Schedule — это легковесная библиотека для Python, которая позволяет запускать задачи по расписанию с простым и понятным синтаксисом, например, вызывать функцию каждые 10 секунд или каждый понедельник.
Это библиотека или отдельное приложение-планировщик?Это библиотека, которую вы импортируете в свой Python-скрипт; она работает внутри вашей программы, в её цикле, а не как отдельный демон или сервис cron.
Как добавить это в мой проект?Установите через pip, импортируйте schedule, задайте задачи с помощью schedule.every() и вызывайте schedule.run_pending() в цикле.
Нужно ли что-то ещё, кроме установленного Python?Нет, у неё нет внешних зависимостей, и она работает как один легковесный пакет.
Запускает ли она задачи в фоне автоматически?Нет, вы сами должны поддерживать работу своего цикла и многократно вызывать schedule.run_pending() (например, вместе с time.sleep(1)); по умолчанию фонового потока нет.
На каких платформах она работает?Это чистый Python без нативных зависимостей, поэтому она работает на Linux, macOS и Windows везде, где доступен поддерживаемый интерпретатор Python.
Какие расписания я могу задавать?Можно планировать по секундам, минутам, часам, дням, конкретным дням недели, например понедельнику или среде, по определённому времени, с учётом часового пояса, а также со случайными интервалами, например каждые 5–10 минут.
Можно ли передавать аргументы в запланированные задачи?Да, аргументы можно передать прямо в вызов .do(), например: schedule.every(10).seconds.do(jobwithargument, name='Peter').
Где найти полную документацию?Полная документация размещена на schedule.readthedocs.io.
Creator
dbader
Size
0.4 MB
Stars
12.3K
Updated
CommitMay 25
Age
13y
Commits · 90 Days