Функция asyncio.wait() это еще один способ вызвать множество асинхронных задач.
Она работает в нескольких режимах.
1. Самый простой - ждем завершения всех задач
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(10)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.ALL_COMPLETED
)
for task in done:
try:
print(task.result())
except Exception as e:
print(e)
Очень похоже на gather, но работает не так.
▫️возвращает не результаты, а два сета с объектами Task у которых можно забрать результат через task.result() если они в списке done
▫️не гарантирует порядок результатов так как оба объекта это set
▫️не выбрасывает исключение когда оно появляется, а сохраняет его в Task. Исключение появится когда попробуете забрать резултьтат.
2. Ждем завершения первой задачи, даже если там ошибка.
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(3)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_COMPLETED
)
# в done может быть несколько задач!
for task in done:
try:
print(task.result())
except Exception as e:
print(f"Fail: {e}")
# Оставшиеся задачи в pending, как правило, нужно отменить, иначе они будут продолжать работать
for task in pending:
task.cancel()
В сете done будут таски которые успели завершится, причем как успешно так и нет.
3. До первой ошибки.
Тоже самое, но с аргументом FIRST_EXCEPTION
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_EXCEPTION
)
Функция завершается как только первая задача упадет с ошибкой.
Учтите, что в любом случае done вы можете обранужить несколько задач, как с ошибками так и успешные.
↗️ Полный листинг примеров здесь
#async
#FAQsCapitalization in IELTS Listening and Reading
Question:
When transferring my answers to the answer sheet, should I attempt to write them in capital letters?
Answer:
It doesn't matter whether or not you write in all-capital letters — what matters is clarity. This is perhaps why you are often recommended to use capital letters, as unclear handwriting may lead to a lower score.
That's not to say, however, you should strictly use capital letters at all times — some people are just not comfortable with them. Besides, nowhere in the official guidelines does it say that capitalization matters. Don't give yourself a hard time, and focus on what's important instead such as spelling and clarity.
@ieltsulugbeks
No, enforcement will not be taken against the elderly or children, who are unable to clear the tables themselves. These groups would typically be unable to order and bring food to the tables on their own to begin with, and would probably have someone to accompany them. If you’re dining out with the elderly or children, do help them clear their tables. Have more questions about the table littering enforcement, which will be commencing tomorrow? Check out the list of #FAQs at www.nea.gov.sg/clean-tables
Having zi char or steamboat and wondering how you’d clear the many plates and steamboat equipment after eating? Don’t worry, stalls selling zi char and steamboat will have service staff to serve food to your table, and to clear the table during and after your meal.
Have more questions about the table littering enforcement, which will be commencing on 1 Sep? Check out the list of #FAQs at www.nea.gov.sg/clean-tables
Extending our heartfelt appreciation to diners who have been returning their used trays and crockery. This small act goes a long way towards ensuring a pleasant dining experience for everyone.
Let's continue to keep #OurHawkerCentres clean this new year!
Details and #FAQs here: www.nea.gov.sg/clean-tables
#ClearYourTable#ReturnYourTray#BinUsedTissues
Yes, the revised cleaning workflow aims to ensure that the tray and crockery return stations are cleared, cleaned and sanitised quickly and efficiently, to prevent pest nuisance.
As our cleaners need time to adjust to the new workflow and manage their different tasks, do look for alternative tray and crockery return stations if the one nearest to you is full. Let’s continue to keep #OurHawkerCentres clean and safe. #ClearYourTable#ReturnYourTray#BinUsedTissues
More #FAQs at www.nea.gov.sg/clean-tables
#DidYouKnow that East Coast Lagoon Food Village was built on reclaimed land? Opened in 1978, it complements the beach-front activities of Singapore’s largest seaside resort.
After enjoying the delicious hawker food while enjoying the sea breeze, let’s remember to return our used trays and crockery. We all have a part to play in ensuring a clean and safe dining experience at #OurHawkerCentres. #ClearOurTables#ReturnOurTrays#BinUsedTissues
P.S. You don’t have to wipe the tables, as cleaners will do so. More information and #FAQs here: www.nea.gov.sg/clean-tables