Оно не работает потому что for event in longpool.listen():
Обращается к бесконечному генератору и поэтому проверка времени происходит только один раз, при запуске
if s1.split('.')[1] == '*':
list1 = [keys[s1.split('.')[-1]] for keys in data[s1.split('.')[0]]]
print(list1)
else:
print(data[s1.split('.')[0]][int(s1.split('.')[1])][s1.split('.')[2]])