{"repo":"nextiva/krolib","free":true,"listed":false,"github":"https://github.com/nextiva/krolib","clone":"git clone https://github.com/nextiva/krolib.git","description":"Magic library and DSL to handle complex schedules","language":"Python","stars":21,"topics":["magic-schedule","complex-schedule","schedule","scheduler"],"license":"Apache-2.0","category":"workflow-automation","readme_excerpt":"⏰ Krolib: Schedules for Humans =============================== Magic library and DSL to handle complex schedules. 🚀 Installation --------------- As easy as usual. Why? ---- Cron is not enough Yes, you can create almost any kind of schedule rotation or delay for you app but there are some very special cases when Cron can't help you, like \"do something monthly, every second weekend at 6am until 2020\". Also, you can create only app-level job, what if you need periodical function execution inside your application? Declarative schedule format Create your schedules programmatically, serialize them, store in DB, modify, update in runtime and always have a whole picture of what is the final result. Readable and flexible structure like: Supports asyncio out of the box Works like magic and very helpful to create periodical coroutines: Delay several coroutines concurrently: More examples ------------- Delay for 1 hour: Every last day of the month, infinite: Since tomorrow, every week with stop after the second one: Schedule Format --------------- The general schema structure which is currently supported by Krolib is presented here as a pseudo-Python code. Also, there is special form for relative periodical rotations: Schedule structure ------------------ The schedule data structure has three main sections: - start - periodical - stop The schedule structure also holds a timezone attribute, which sets the timezone for all the sections of the schedule. It should hold a string with the tim","default_branch":null,"files":null,"tree":[],"storefront":"/r/nextiva","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/nextiva/krolib/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}