معرفی شرکت ها


aioscheduler-1.4.2


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Scalable, high-performance AsyncIO task scheduler
ویژگی مقدار
سیستم عامل -
نام فایل aioscheduler-1.4.2
نام aioscheduler
نسخه کتابخانه 1.4.2
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Jens Reidel
ایمیل نویسنده adrian@travitia.xyz
آدرس صفحه اصلی https://github.com/Gelbpunkt/aioscheduler
آدرس اینترنتی https://pypi.org/project/aioscheduler/
مجوز -
# aioscheduler aioscheduler is a scalable and high-performance task scheduler for asyncio. It schedules execution of coroutines at a specific time in a single task, making it lightweight and extremely scalable by adding a manager for multiple schedulers. Tests have shown that aioscheduler can run up to 10 million timed tasks with up to 20 finishing per second when using 20 schedulers. Single tasks can easily schedule up to 10.000 tasks. This is based on tests on a Xeon E5 1650v3. ## Installation `pip install aioscheduler` ## Usage aioscheduler provides several Scheduler classes that runs a main task to consume coroutines. There are `QueuedScheduler/LifoQueuedScheduler` and `TimedScheduler`, whereas TimedScheduler is the default for Managers. The TimedScheduler compares datetime objects to UTC by default, to disable it, pass `prefer_utc=False` to the constructor. ```py import asyncio from datetime import datetime, timedelta from aioscheduler import TimedScheduler async def work(n: int) -> None: print(f"I am doing heavy work: {n}") async def main() -> None: starting_time = datetime.utcnow() scheduler = TimedScheduler() scheduler.start() for i in range(60): scheduler.schedule(work(i), starting_time + timedelta(seconds=5 + i)) await asyncio.sleep(65) asyncio.run(main()) ``` In this example, 60 tasks are scheduled to run in 5 seconds from now, 1 of them per second over a time of 1 minute. The QueuedScheduler works identical, but consumes tasks in scheduling order immediately and only takes a single coroutine as argument to `schedule()`. To scale even further, aioscheduler offers the Manager (example with QueuedScheduler backend): ```py import asyncio from datetime import datetime, timedelta from aioscheduler import Manager, QueuedScheduler async def work(n: int) -> None: print(f"I am doing heavy work: {n}") async def main() -> None: starting_time = datetime.utcnow() manager = Manager(5, cls=QueuedScheduler) # The number of Schedulers to use # Leaving out cls defaults to TimedScheduler manager.start() for i in range(30000): manager.schedule(work(i)) await asyncio.sleep(5) asyncio.run(main()) ``` The manager distributes the tasks across multiple schedulers internally and acts as a load-balancer. `schedule()` returns a Task object, you may cancel a task after scheduling by running `scheduler.cancel(task)` (or `manager.cancel(task)`). The manager is less efficient for cancelling. To limit the amount of tasks scheduled, there is a `max_tasks` argument that takes a positive integer. It is advised to use this in production enviroments of known task queue sizes and available on both Scheduler and Manager. ## License MIT


زبان مورد نیاز

مقدار نام
>=3.7 Python


نحوه نصب


نصب پکیج whl aioscheduler-1.4.2:

    pip install aioscheduler-1.4.2.whl


نصب پکیج tar.gz aioscheduler-1.4.2:

    pip install aioscheduler-1.4.2.tar.gz