aio-libs / aio-libs/aiojobs

Timeout for pending jobs raises InvalidStateError

Đang mở
#67 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Python
Star
929
Fork
68
Merge trung bình
1 phút
Pull request đã merge (30 ngày)
2

Mô tả

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(>)
handle: >)>
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
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.