2009-12-25 82 views
2

我需要以超過App Engine免費電子郵件配額(8封電子郵件/分鐘)的速度發送電子郵件。我打算使用TaskQueue排隊電子郵件,但我想知道:是否已有一個庫或Python模塊可以用來自動執行此操作?這似乎是以前可能碰到的那種問題。App Engine上的排隊電子郵件

回答

3

deferred庫專爲這類事情設計。只需使用deferred.defer(message.send),並確保您使用的隊列具有適當的執行速率。

+0

準確地說,我在找什麼。謝謝! – ine 2010-01-01 23:24:00

+0

這很好:) – Alfred 2010-04-02 20:57:06

0

在我看來最簡單的方法是使用一個隊列,例如亞馬遜SQS,並在每分鐘運行的cron作業中每分鐘拉8條記錄。

考慮到它被推入隊列,然後取出,我正在計算出這是一個非常便宜的服務的數學。

見下,0.000002是2請求的速率。 (Add and View)

每分鐘8請求,一小時60分鐘,一天24小時。考慮到平均月份的30天,您仍然不到1美元。

0.000002 * 8 * 60 * 24 * 30 = $ 0.6912

這可能不是正是你要找的,但它應該是一個非常簡單的解決方案。

編輯: 看到這裏,蟒蛇SQS & S3 Lib(sqs是你應該找的所有東西)。

http://pypi.python.org/pypi/Python-Amazon/0.5

+1

App Engine擁有自己的任務隊列API。這是不必要的複雜。 – 2010-01-01 21:30:45

0

我不熟悉這個問題的任何解決方案,罐頭,但它應該是很容易解決。將電子郵件寫入數據存儲區表,並使用auto_add_now日期字段記錄它們輸入的順序。您每分鐘運行的cron作業將關閉八個最舊的記錄,將其郵寄並刪除它們。

當然,如果你能解決這個問題是一個合理的通用方式,你可以成爲一個開源模塊的人解決這個問題的人。

1

它只需支付一年的費用就可以比設計解決方案更便宜。

+0

我也認爲你是對的。如果你問我,每封郵件$ 0.0001便宜。比如說你每天發送1000條(總共3000條)額外的消息。如果我的計算是正確的,那麼1年後你只需支付36.50美元。 – Alfred 2010-04-02 21:01:38

4

如果這是一個選項,爲什麼不啓用計費?它將從8位接收者/分鐘跳到最高速率爲5,100位/分鐘。

前2000名收件人每天都是免費的,只要您不打算每天免費配額,我的理解是它不會花費任何東西(如果您需要每天向超過2000人發送電子郵件,無論如何,必須啓用計費)。

相關問題