Библиотека toolz имеет функцию partition
для этого:
from toolz.itertoolz.core import partition
list(partition(2, [1, 2, 3, 4]))
[(1, 2), (3, 4)]
Вам необходимо настроить службу обратного вызова ; Некоторое время назад я написал простое руководство для начинающих
Для этого вам необходимо создать и поддерживать список всех подключенных клиентов (общая практика для этого - создание методов входа в систему и выхода из системы для создания и управления списком объектов, представляющих ваши клиенты, включая их CallbackContext). Затем с помощью System.Time.Timers вы можете просмотреть список подключенных клиентов и отправить уведомление.
Совет. этот метод также может действовать как метод Keep-Alive или Hear-Beat (если это не предусмотрено намерением), добавляя возможность удаления клиентов из вашего списка, если служба не может отправить им обратный вызов.