Отдельно разберём TaskGroup, который пришел на замену gather в Python 3.11.
Ключевые отличия
▫️create_task() возвращает объект asyncio.Task, у которого есть соответствюущие методы управления. То есть у нас больше контроля
▫️это контекстный менеджер, который гарантирует что все таски будут остановлены по выходу из контекста
▫️ошибка автоматически отменяет незавершенные задачи,
▫️except* передает нам ExceptionGroup, в котором каждую ошибку можно обработать отдельно
import asyncio
import random
async def do_it() -> str:
if random.random() < 0.1:
raise ValueError('Oops')
delay = random.uniform(0.5, 1.5)
await asyncio.sleep(delay)
return delay
async def main():
try:
async with asyncio.TaskGroup() as tg:
for _ in range(10):
tasks.append(tg.create_task(do_it()))
for t in tasks:
print(t.result())
except *ValueError as e:
for err in e.exceptions:
print(err)
asyncio.run(main())
Рекомендую изучить страницу Coroutines and Tasks из документации, где представлено больше интересных примеров и механизмов
- таймауты
- отмена задач
- создание задач из другого потока
#async
🎯Big Opportunity: Turn 2 TON into 100 TON!💰
Get ready to test your luck with our latest Lottery Draw on Gemifaucet!
🎟Ticket Price: Only 2 TON
🏆Winning Prize: Up to 100 TON
⏳Draw Time: Every 3 Days
Here’s your chance to multiply your TON in a simple and exciting way. Just grab your ticket, sit back, and wait for the draw — one lucky winner will walk away with a massive reward!
🔥 Don’t miss out — the sooner you enter, the bigger the prize pool grows.
🚀Buy your ticket now and secure your chance to win big!
#Gemifaucet#Lottery#WinTON#CryptoOpportunity
Buy Now
🎉Exciting Update: Lottery Feature is Now Live on Gemifaucet!🎉
We’re thrilled to introduce a brand-new way to win big on Gemifaucet — our Lottery System is officially launched!
🎟How it works:
* Purchase your lottery tickets directly داخل the app
* Each ticket gives you a chance to win
* One lucky winner takes home the entire prize pool💰
🔥 The more participants, the bigger the rewards — so don’t miss your chance to be part of it!
This feature is designed to make your experience more engaging, rewarding, and fun. Whether you're a regular user or just getting started, now is the perfect time to try your luck.
🚀Start buying your tickets today and aim for the jackpot!
Stay tuned for more updates and features coming soon.
#Gemifaucet#LotteryLaunch#WinBig#CryptoRewards
💥 OFFICIAL PARTNERSHIP ANNOUNCEMENT 💥
We’re pleased to announce an official partnership between Gemifaucet and AdsGram, focused on improving monetization quality and user experience across our platform.
🚀 About Gemifaucet
Gemifaucet is a Telegram mini app where users receive rewards by interacting with tasks and ads in a simple, transparent, and user-friendly environment.
📊 About AdsGram
AdsGram is a leading Telegram Native Ads platform trusted by top Telegram apps and communities. It provides seamless, non-intrusive ad solutions with strong performance, advanced analytics, and a proven monetization ecosystem.
🤝 Why this partnership matters
By this official partnership formalizes our collaboration and strengthens our monetization infrastructure.
👉 Gemifaucet: @gemifaucet_bot
👉 AdsGram: @adsgram_ai
Thank you for your continued support — more updates coming soon! 🚀
#OfficialPartnership#Gemifaucet#AdsGram#TelegramMiniApp#Announcement