Три способа выполнить множество задач с asyncio
Функция для примера:
async def do_it(n):
await asyncio.sleep(random.uniform(0.5, 1))
return n
1. Последовательный вызов
async def main():
for i in range(100):
result = await do_it(i)
Такой вызов имеет смысл только тогда, когда результат одной задачи требуется для вызова следующей.
Если они независимы, то это антипаттерн, так как аналогичен простому синхронному вызову по очереди.
2. Упорядоченный результат
async def main():
tasks = [do_it(i) for i in range(100)]
results = await asyncio.gather(*tasks)
Выполняет корутины конкурентно и возвращает результат в виде списка.
Полезен когда требуется получить результаты в том же порядке в котором задачи отправлены.
3. Результат по мере готовности
tasks = [asyncio.create_task(do_it(i)) for i in range(100)]
for cor in asyncio.as_completed(tasks):
result = await cor
Так же выполняет корутины конкурентно, но не гарантирует порядок. Результат возвращается по мере готовности, каждый отдельно.
Полезен когда нужно обработать любой ответ как можно скорее.
#async
@MaxDeleteAll_Bot
Qué puede hacer este bot?
Este bot te ayuda a eliminar gran cantidad de mensajes en tus grupos o canales
use use /delall si desea que se eliminen todos los mensajes
use use /delfrom (punto inicial) & /delto (punto final) antes de usar /delsel si desea eliminar esos & todos los mensajes posteriores.
Idioma: Inglés
(visto en @BotsGram_cu)
#delete
Fast FB Delete Tool
by marcelja
Fast Facebook Activity Deletion
This program can be used to clean up a facebook account without deleting the entire account.
https://github.com/marcelja/facebook-delete
#fb#facebok#delete
Redact
Allows you to automatically clean up your old posts from services like Twitter, Reddit, Facebook, Discord and more all in one place
https://redact.dev
#redact#delete#fb#twitter#reddit
@MassActionBot
Qué puede hacer este bot?
Este bot puede realizar múltiples acciones en tu Chat. ¿Cuál? Ahí lo tienes.:
- Eliminar todos los mensajes
- Kick all
- Ban all
- Silencio todo
- Unban all
- Activar todo
Idioma: Inglés
(visto en @BotsGram_cu)
#chanel, #groups, #delete, #ban, #kick, #mute
@daysandbox_bot
Qué puede hacer este bot?
Este bot elimina las publicaciones reenviadas y que contienen enlaces de los nuevos usuarios del grupo
(visto en @BotsGram_cu)
#gestión, #grupo, #chat, #unión, #bienvenido, #mute, #delete
@shiiinabot
Qué puede hacer este bot?
Un bot para eliminar automáticamente los mensajes no deseados predefinidos del grupo.
Idioma: Portugués
(visto en @BotsGram_cu)
#delete, #group, #notification, #message, #regex, #spam, #picture, #remove
@GitHubBot
Qué puede hacer este bot?
Este es un bot de GitHub. Puede notificarle sobre eventos en sus repositorios públicos de GitHub. También puede responder a tus mensajes para publicar comentarios en GitHub directamente desde Telegram.
Idioma: Inglés
(visto en @BotsGram_cu)
#telegram, #notify, #events, #github, #delete, #public, #command, #messages, #repository
@DeleteEventsBot
Qué puede hacer este bot?
Este bot elimina mensajes de eventos (también conocidos como mensajes de acción) en supergrupos.
Idioma: Inglés
(visto en @BotsGram_cu)
#delete, #service, #message, #spam, #helper, #group, #supergroup, #join, #left, #pinned