Три способа выполнить множество задач с 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
@comfavbot
Qué puede hacer este bot?
Con este bot puedes activar un o varios botones para ver los comentarios de los suscriptores en tu canal
1️⃣ - Añade este bot a tu canal
2️⃣- Asegúrese de promover el bot para editar publicaciones
3️⃣- Iniciar publicación con signo (!) para activar el botón debajo de la publicación
3️⃣- Iniciar publicación con signo (!!) para activar los botones de comentario debajo de la publicación.
Idioma: Inglés
(visto en @BotsGram_cu)
#favoritos#comentarios#publicación#administración#gestión#publicar
@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
@NativeCommentsBot
Qué puede hacer este bot?
¡Hola! Conmigo, los usuarios de su canal pueden dejar comentarios bajo una publicación en Telegram sin abrir un navegador.
Agrégame al canal con permiso de edición de mensajes. Publique cualquier publicación y adjuntaré el botón de comentarios.
Idioma: Inglés
(visto en @BotsGram_cu)
#administración#comentario, #gestión#adjuntar, #puestos, #canal#publicar
@channely_bot
Qué puede hacer este bot?
Este bot es el mejor asistente para la gestión de canales en Telegram. Conecto los canales al servicio principal. ¡Incluyendo un rico entorno webUI de edición!
https://app.channely.co/
Idioma: Inglés
(visto en @BotsGram.cu)
#canales, #canal, #gestión, # administración, #richeditor, #posts, #schedule, #polls, #comment, #commenting, #reactions, #editor, #share, #buttons, #webui, #subscribe, #stats, #users, #trial, #limited, #proaccount