У меня есть скрипт на python:
import imaplib, re
import os
import time
import socket
imap_host = 'imap.gmail.com'
mail = imaplib.IMAP4_SSL(imap_host)
mail.login("user", "pass")
mail.select("inbox") # connect to inbox.
while True:
try:
result, data = mail.uid('search', None, 'UNSEEN')
uid_list = data[0].split()
print len(uid_list), 'Unseen emails.'
if len(uid_list) > 20:
os.system('heroku restart --app xxx')
time.sleep(60)
except KeyboardInterrupt:
print 'Quitting'
pass
Цель состоит в том, чтобы проверить количество непрочитанных писем и перезапустить сервер Heroku.Проблема в том, что это не очень хорошо работает.
~# python gmail_new.py
1 Unseen emails.
0 Unseen emails.
Когда я запускаю первый раз, он работает (1 непрочитанное письмо), но во второй раз он должен был вернуть 20, а не 0. И следующий также 0, никогда не больше 0. Я могукажется, не понимаю, почему.