- Added
Scheduler.wait_and_close()
to allow a grace period for tasks to complete before closing the scheduler. - Added
Scheduler.shield()
as an alternative toasyncio.shield()
which tracks the shielded task, thus ensuring shielded tasks are given time to complete on application shutdown (when used withScheduler.wait_and_close()
). - Added support for
async with
syntax which will automatically callScheduler.wait_and_close()
when exiting the context.
- Use
aiohttp.web.AppKey
for aiohttp integration.
Scheduler.spawn()
now accepts aname
parameter, similar toasyncio.create_task()
. (#385)- Removed async-timeout dependency on Python 3.11+. (#443)
- Dropped Python 3.7 support.
- Complete type annotations have been added. (#352)
Scheduler
can (and should be) instantiated directly. (#353)Job
is also exported by default now, to aid type annotations. (#355)
- Fix scheduler blocking forever when pending limit is reached. (#135)
- Fix @atomic wrapper not passing
self
to methods. (#344) Job.wait()
now returns the task value if the job is already closed. (#343)- Fix
exception_handler
being called twice in some situations. (`#354 < https://github.com/aio-libs/aiojobs/pull/354`_)
- Dropped Python 3.6 support. (#338)
create_scheduler()
is deprecated and will be removed in v2. (#353)
- Switch to
async-timeout>=4.0.0
. (#275) - Added Python 3.10 support. (#277)
- Added type hints support. (#280)
- Dropped Python 3.5 support. (#279)
- Make aiohttp as extra requirement (#80)
- Fix AttributeError when calling wait() or close() on failed job. (#29)
- Fix AttributeError when calling
wait()
orclose()
on failed job (#64)
- Add missing decription file
- Add a new scheduler parameter for control pending jobs size. (#19)
- Cancelling a task suspended on
job.wait()
doesn't cancel inner
job task but timeout exemption does. (#28)
- Fix AttributeError when @atomic decorator is used in Class Based Views. (#21)