improve

Aditya 2023-06-20 21:22:46 +05:30
parent d919cfcace
commit 56bfddab2e

@ -101,6 +101,7 @@ while not application.update_queue.empty():
update = await application.update_queue.get() update = await application.update_queue.get()
asyncio.create_task(application.process_update(update)) asyncio.create_task(application.process_update(update))
``` ```
This setting is *independent* of the `block` parameter of `Handler` and within `application.process_update` concurrency still works as explained above.
You can also implement your own custom update processor by subclassing the `BaseUpdateProcessor` class: You can also implement your own custom update processor by subclassing the `BaseUpdateProcessor` class:
```python ```python
@ -119,11 +120,9 @@ class MyUpdateProcessor(BaseUpdateProcessor):
Application.builder().token('TOKEN').concurrent_updates(MyUpdateProcessor(10)).build() Application.builder().token('TOKEN').concurrent_updates(MyUpdateProcessor(10)).build()
``` ```
The above code processes every callback_query update with a delay of 5 seconds for up to 10 updates simultaneously. This is just an example of how to use the `BaseUpdateProcessor` class, there are endless possibilities to this. The above code processes every `callback_query` update with a delay of 5 seconds for up to 10 updates simultaneously. This is just an example of how to use the `BaseUpdateProcessor` class, there are endless possibilities to this.
See the [documentation](https://python-telegram-bot.readthedocs.io/en/latest/telegram.ext.baseupdateprocessor.html#telegram.ext.BaseUpdateProcessor) for more information. See the [documentation](https://python-telegram-bot.readthedocs.io/en/latest/telegram.ext.baseupdateprocessor.html#telegram.ext.BaseUpdateProcessor) for more information.
This setting is *independent* of the `block` parameter of `Handler` and within `application.process_update` concurrency still works as explained above.
**Note:** The number of concurrently processed updates is limited (the limit defaults to 4096 updates at a time). **Note:** The number of concurrently processed updates is limited (the limit defaults to 4096 updates at a time).
This is a simple measure to avoid e.g. DDOS attacks This is a simple measure to avoid e.g. DDOS attacks