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())
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
Environment:
pyenvaiojobsv0.2.2How to reproduce:
bug: