【发布时间】:2011-07-18 13:33:11
【问题描述】:
我正在使用imaplib2 (docs) 与 IMAP 服务器交互。
我正在使用空闲命令,带有超时和回调。
问题是,我看不到任何方法来判断回调是否由达到超时触发,或者服务器上是否有我需要检查的更改。
我每次都得到('OK', ['IDLE terminated (Success)'])。
以下是两种情况的调试输出:
超时:
15:43.94 MainThread server IDLE started, timeout in 5.00 secs
15:48.94 imap.gmail.com handler server IDLE timedout
15:48.94 imap.gmail.com handler server IDLE finished
15:48.94 imap.gmail.com writer > DONE\r\n
15:49.17 imap.gmail.com reader < DDDM6 OK IDLE terminated (Success)\r\n
15:49.17 imap.gmail.com handler _request_pop(DDDM6, ('OK', ['IDLE terminated (Success)']))
发生了什么事:
18:41.34 MainThread server IDLE started, timeout in 50.00 secs
19:01.35 imap.gmail.com reader < * 1 EXISTS\r\n
19:01.37 imap.gmail.com handler server IDLE finished
19:01.37 imap.gmail.com writer > DONE\r\n
19:01.59 imap.gmail.com reader < BFCN6 OK IDLE terminated (Success)\r\n
19:01.59 imap.gmail.com handler _request_pop(BFCN6, ('OK', ['IDLE terminated (Success)']))
我错过了什么?
imaplib2 中不存在该功能吗?
【问题讨论】:
标签: python timeout imap python-idle imaplib