На данный момент у меня есть скрипт, который запрашивает некоторые субреддиты каждые 30 секунд и возвращает самое новое представление:
while True:
for post in reddit.subreddit(query_list).new(limit=1):
if previous != post:
# Do something
previous = post
time.sleep(30)
Проблема в том, что если за этот период времени будет больше двух сообщений, он пропустит одну из них. Я знаю, что могу установить меньшее время ожидания, или я могу получать более одного сообщения за раз и сортировать результаты, но на самом деле это не решает проблему, а просто снижает вероятность.
Я бы предпочел «подписаться» на канал, имея постоянно открытое соединение, которое получает сообщения по мере их публикации. Это существует? А если нет, есть ли другое решение, о котором я не придумал?
(Я понимаю, что то, о чем я говорю, окажет большую нагрузку на серверы api reddit, поэтому, вероятно, его не существует, но я подумал, что стоит спросить на всякий случай)