`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
This fork
---------
The current project is a fork of the incredible work of Daniel Bader (https://github.com/dbader/schedule) and all contributors (see AUTHORS.rst).
I was focused in having support for cronjob expression in the 'schedule' library engine.
There's an interesting pull request from Romain Michel (https://github.com/dbader/schedule/pull/581) that implements exactly what I need.
After having reviewed and tested the work of Romain, I've merged his pull request into this forked repo and published on pypi under the name of 'schedule-cronjob' (https://pypi.org/project/schedule-cronjob/)
Schedule
--------
Python job scheduling for humans. Run Python functions (or any other callable) periodically using a friendly syntax.
- A simple to use API for scheduling jobs, made for humans.
- In-process scheduler for periodic jobs. No extra processes needed!
- Very lightweight and no external dependencies.
- Excellent test coverage.
- Tested on Python and 3.7, 3.8, 3.9, 3.10, 3.11
Usage
-----
.. code-block:: bash
$ pip install schedule-cronjob
.. 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)
schedule.every().crontab_expression("5 4 * * 2,5", "Europe/Amsterdam").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>`_ - mail@dbader.org
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/yusefmaali/schedule-cronjob/blob/master/LICENSE.txt>`_ for more information.
https://github.com/yusefmaali/schedule-cronjob
Raw data
{
"_id": null,
"home_page": "https://github.com/yusefmaali/schedule-cronjob",
"name": "schedule-cronjob",
"maintainer": "Yusef Maali",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "contact@yusefmaali.net",
"keywords": "schedule,periodic,jobs,scheduling,clockwork,cron,scheduler,job scheduling,cronjob,cronjob scheduling",
"author": "Daniel Bader",
"author_email": "mail@dbader.org",
"download_url": "https://files.pythonhosted.org/packages/42/89/27fc3cd6cd18d1f6d23ff6c6748391925f6c61b99d69de73855a99740e2b/schedule-cronjob-1.3.1.tar.gz",
"platform": null,
"description": "`schedule <https://schedule.readthedocs.io/>`__\n===============================================\n\n\n.. image:: https://github.com/dbader/schedule/workflows/Tests/badge.svg\n :target: https://github.com/dbader/schedule/actions?query=workflow%3ATests+branch%3Amaster\n\n.. image:: https://coveralls.io/repos/dbader/schedule/badge.svg?branch=master\n :target: https://coveralls.io/r/dbader/schedule\n\n.. image:: https://img.shields.io/pypi/v/schedule.svg\n :target: https://pypi.python.org/pypi/schedule\n\nThis fork\n---------\n\nThe current project is a fork of the incredible work of Daniel Bader (https://github.com/dbader/schedule) and all contributors (see AUTHORS.rst).\nI was focused in having support for cronjob expression in the 'schedule' library engine.\nThere's an interesting pull request from Romain Michel (https://github.com/dbader/schedule/pull/581) that implements exactly what I need.\nAfter having reviewed and tested the work of Romain, I've merged his pull request into this forked repo and published on pypi under the name of 'schedule-cronjob' (https://pypi.org/project/schedule-cronjob/)\n\nSchedule\n--------\n\nPython job scheduling for humans. Run Python functions (or any other callable) periodically using a friendly syntax.\n\n- A simple to use API for scheduling jobs, made for humans.\n- In-process scheduler for periodic jobs. No extra processes needed!\n- Very lightweight and no external dependencies.\n- Excellent test coverage.\n- Tested on Python and 3.7, 3.8, 3.9, 3.10, 3.11\n\nUsage\n-----\n\n.. code-block:: bash\n\n $ pip install schedule-cronjob\n\n.. code-block:: python\n\n import schedule\n import time\n\n def job():\n print(\"I'm working...\")\n\n schedule.every(10).seconds.do(job)\n schedule.every(10).minutes.do(job)\n schedule.every().hour.do(job)\n schedule.every().day.at(\"10:30\").do(job)\n schedule.every(5).to(10).minutes.do(job)\n schedule.every().monday.do(job)\n schedule.every().wednesday.at(\"13:15\").do(job)\n schedule.every().day.at(\"12:42\", \"Europe/Amsterdam\").do(job)\n schedule.every().minute.at(\":17\").do(job)\n schedule.every().crontab_expression(\"5 4 * * 2,5\", \"Europe/Amsterdam\").do(job)\n\n def job_with_argument(name):\n print(f\"I am {name}\")\n\n schedule.every(10).seconds.do(job_with_argument, name=\"Peter\")\n\n while True:\n schedule.run_pending()\n time.sleep(1)\n\nDocumentation\n-------------\n\nSchedule's documentation lives at `schedule.readthedocs.io <https://schedule.readthedocs.io/>`_.\n\n\nMeta\n----\n\nDaniel Bader - `@dbader_org <https://twitter.com/dbader_org>`_ - mail@dbader.org\n\nInspired 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.\n\nDistributed under the MIT license. See `LICENSE.txt <https://github.com/yusefmaali/schedule-cronjob/blob/master/LICENSE.txt>`_ for more information.\n\nhttps://github.com/yusefmaali/schedule-cronjob\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Job scheduling for humans. With cronjob support.",
"version": "1.3.1",
"project_urls": {
"Download": "https://github.com/yusefmaali/schedule-cronjob/tarball/1.3.1",
"Homepage": "https://github.com/yusefmaali/schedule-cronjob"
},
"split_keywords": [
"schedule",
"periodic",
"jobs",
"scheduling",
"clockwork",
"cron",
"scheduler",
"job scheduling",
"cronjob",
"cronjob scheduling"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c34e5dd2301d4785ca779ef8ce442faf686bf7ad0dcfd047e0ba6c5bf28bcbd5",
"md5": "bfda961a795e3c34a8d7c1e12c1c7760",
"sha256": "145c7516d975e87e117671368ef413a019c9bc919acbf91cff6cd62b58c2fba1"
},
"downloads": -1,
"filename": "schedule_cronjob-1.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bfda961a795e3c34a8d7c1e12c1c7760",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 18440,
"upload_time": "2023-08-17T15:50:38",
"upload_time_iso_8601": "2023-08-17T15:50:38.718047Z",
"url": "https://files.pythonhosted.org/packages/c3/4e/5dd2301d4785ca779ef8ce442faf686bf7ad0dcfd047e0ba6c5bf28bcbd5/schedule_cronjob-1.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "428927fc3cd6cd18d1f6d23ff6c6748391925f6c61b99d69de73855a99740e2b",
"md5": "731d26a4d79d2a55e3cb4961cc3514e5",
"sha256": "33d40e398480bcd73ccc3320f3182708b54b555822eee939478cf7bbff09f7d9"
},
"downloads": -1,
"filename": "schedule-cronjob-1.3.1.tar.gz",
"has_sig": false,
"md5_digest": "731d26a4d79d2a55e3cb4961cc3514e5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 26915,
"upload_time": "2023-08-17T15:50:40",
"upload_time_iso_8601": "2023-08-17T15:50:40.231548Z",
"url": "https://files.pythonhosted.org/packages/42/89/27fc3cd6cd18d1f6d23ff6c6748391925f6c61b99d69de73855a99740e2b/schedule-cronjob-1.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-17 15:50:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yusefmaali",
"github_project": "schedule-cronjob",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "schedule-cronjob"
}