Есть ли текущие дедлайны по принятию решения
Python
Middle
Без компании
Есть ли текущие дедлайны по принятию решения
Ответы
В Python нет встроенного механизма для дедлайнов, но их можно реализовать с помощью модуля `threading` или `concurrent.futures`. Например, с `concurrent.futures`:
```
from concurrent.futures import ThreadPoolExecutor, as_completed
import time
def long_running_task(seconds):
time.sleep(seconds)
return f"Done after {seconds}s"
with ThreadPoolExecutor() as executor:
future = executor.submit(long_running_task, 5)
try:
result = future.result(timeout=3) # Deadline 3 seconds
print(result)
except TimeoutError:
print("Task exceeded deadline")
```
Для асинхронного кода можно использовать `asyncio.wait_for`:
```
import asyncio
async def async_task():
await asyncio.sleep(5)
return "Done"
async def main():
try:
result = await asyncio.wait_for(async_task(), timeout=3)
print(result)
except asyncio.TimeoutError:
print("Deadline exceeded")
asyncio.run(main())
```