-
Notifications
You must be signed in to change notification settings - Fork 70
Open
Description
Environment:
- macOS HighSierra 10.13.6
- Python v3.6.6 with
pyenv
aiojobs
v0.2.2
How to reproduce:
import asyncio
import aiojobs
async def some_unexpectedly_long_async_job():
await asyncio.sleep(10000)
async def reproduce_bug():
scheduler = await aiojobs.create_scheduler(limit=1)
jobs = await asyncio.gather(*[scheduler.spawn(some_unexpectedly_long_async_job())
for _ in range(2)])
try:
waited_jobs = await asyncio.gather(*[job.wait(timeout=3) for job in jobs])
except:
# Deal with async jobs timeout
pass
await scheduler.close()
loop = asyncio.get_event_loop()
loop.run_until_complete(reproduce_bug())
bug:
Exception in callback Job._done_callback(<Task cancell...at test.py:6>>)
handle: <Handle Job._done_callback(<Task cancell...at test.py:6>>)>
Traceback (most recent call last):
File "/Users/zeniuus/.pyenv/versions/3.6.6/lib/python3.6/asyncio/events.py", line 145, in _run
self._callback(*self._args)
File "/Users/zeniuus/.pyenv/versions/aiojobs-bug-test/lib/python3.6/site-packages/aiojobs/_job.py", line 138, in _done_callback
scheduler._done(self)
File "/Users/zeniuus/.pyenv/versions/aiojobs-bug-test/lib/python3.6/site-packages/aiojobs/_scheduler.py", line 141, in _done
new_job._start()
File "/Users/zeniuus/.pyenv/versions/aiojobs-bug-test/lib/python3.6/site-packages/aiojobs/_job.py", line 134, in _start
self._started.set_result(None)
asyncio.base_futures.InvalidStateError: invalid state
Metadata
Metadata
Assignees
Labels
No labels