Golang创建资源节约型电子邮件程序

时间:2019-07-16 18:06:32

标签: amazon-web-services go aws-lambda serverless

我在Go中制作了一个简单的计划程序,该计划程序可以长时间运行并使用通道,当股票行情通道准备就绪时,我会轮询数据库以查找要发送的电子邮件,该电子邮件会将电子邮件发送到发送通道准备就绪后,电子邮件将发送出去。目前,滴答间隔是每10分钟一次。启动后,此调度程序将连接到pg数据库。

示例:

for {
    select {
     case <-s.ticker.C:
      // query db, sends each email to s.send channel. Could just send them
      // without the channel though.
      go poll()
     case email := s.send:
      send(email) // sends the email via some email service
    }
}

我的问题是,使用一次连接到数据库的Go程序,或者每10分钟将Lambda函数设置为cronjob,是否会更安全/有效?我从未使用过Lambda,但是我相信每次运行时都会有一个新的数据库连接,这也涉及到获取凭据。

从成本角度考虑,这并不重要,我只是好奇哪种会更安全/更有效。任何信息被理解!

0 个答案:

没有答案