0

我有一个小烧瓶应用程序,它允许用户互相发送电子邮件。现在我直接发送这些电子邮件,但由于这通常需要一两秒钟,我想避免让用户等待,而是我想把电子邮件放在一个堆栈中,每 15 分钟用一个 cronjob 或类似的东西清空这个堆栈那。我做了一些谷歌搜索,但找不到任何解决方案。有谁知道一些烧瓶包可以用来做这个,还是我必须自己实现这个?我正在使用flask_mail,但这个包似乎没有提供任何类似的功能......谢谢卡尔

4

1 回答 1

0

如果有人感兴趣,这是我的解决方案。我刚刚在我的 models.py 中创建了一个新的 email_stack 模型(我正在使用 sql-alchemy)。

class email_stack(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    message = db.Column(db.String(10000))
    recipient = db.Column(db.String(1000))
    subject = db.Column(db.String(1000))
    sender = db.Column(db.String(1000))

    def __repr__(self):
        return '<email_stack %r>' % (self.id) 

现在我每 15 分钟运行一次 cronjob,它查看 email_stack,如果其中有元素,它只会将它们发送出去并将它们从堆栈中删除。这对我来说很好。我相信其他人建议的 celery 解决方案也会这样做,但我认为 celery 是一个大产品,对于这个小问题来说有点太大了。欢呼卡尔

于 2015-09-04T21:48:30.240 回答