Telethon inviare messaggi in lista in modo asincrono

0

Domanda

Ci scusiamo per eventuali inglese stentato...

Quindi, in sostanza, ho una lista che contiene i messaggi e i loro destini:

messages = [(id_1, msg_1), (id_2, msg_2), (id_3, msg_3),]

Quello che voglio è quello di utilizzare un: async for msg in messages tuttavia, il mio elenco, ovviamente, non in modo asincrono iterable (sto usando sqlite3) come posso convertirlo in modo asincrono iterable lista?

1

Migliore risposta

0

Non hai bisogno di "asincrono iterable liste". Si può semplicemente scorrere normalmente:

for (id, msg) in messages:
    # do things...

Se avete veramente bisogno di un "async iterable lista", si può avvolgere piace così, ma questo è probabilmente molto inutili (e richiede anche una recente versione di Python):

async def make_async_iter(lst):
    for item in lst:
        yield item

...

async for item in make_async_list(messages):
    # use item...
2021-11-23 18:48:47

1 - Grazie! 2 - sto usando un: @client.on(events.NewMessage) è possibile inviare e ricevere messaggi, allo stesso tempo, ma io sto cercando di fare il loro non bloccano a vicenda in modo che il tutto non interrompere il lavoro. 3 - penso che sarà meglio dare un occhiata a gli esempi.
Joao Pedro Lourenco Affonso

Per impostazione predefinita, un nuovo asyncio compito è generato per ogni aggiornamento, in modo che, se non si bloccano a vicenda. Unico problema si verifica se si utilizza il blocco metodi (come time.sleep invece di asyncio.sleep).
Lonami

Ahh, la ringrazio molto! Ho finito per risolvere il problema, come suggerito in precedenza, ma questo ancora utile!
Joao Pedro Lourenco Affonso

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................