【发布时间】:2013-05-27 13:18:43
【问题描述】:
目前我正在使用 IMAP 库,它将通过队列(要在 db 表中获取的 UID 列表)获取电子邮件。为了加快这个过程,我可以让几个实例获取几个批次。这是一个好主意吗,还是我会面临其他问题(比如因为有很多连接到同一服务器而被阻止)。
【问题讨论】:
目前我正在使用 IMAP 库,它将通过队列(要在 db 表中获取的 UID 列表)获取电子邮件。为了加快这个过程,我可以让几个实例获取几个批次。这是一个好主意吗,还是我会面临其他问题(比如因为有很多连接到同一服务器而被阻止)。
【问题讨论】:
IMAP 服务器通常配置为允许每个用户或每个 IP 的最大连接数,因此您不应使用多个。如果您的库允许,IMAP 应该支持流水线,您可以在其中处理多个未完成的请求,这对您的性能有很大帮助。
或者,如果您每次都获取相同的 FETCH 对象,您可以为 FETCH 提供一组以一次获取多条消息:tag0 FETCH 4:10,13,17 (INTERNALDATE FLAGS BODY[] ...)。
【讨论】: