0

我编写了一个 rails 应用程序,它使用 mailman-rails gem 来检查 Gmail 收件箱中的新邮件,并在阅读后将它们拉入。它使用 mailman-rails 让一个永远在线的 mailman 监听器监视收件箱中的新消息。

它在各个方面都运行良好,除了当我实时推送到托管在 AWS 上的生产服务器时,邮递员服务器的运行时间永远不会超过 24-36 小时。我正在检查日志,我没有看到任何导致邮递员侦听器关闭的严重错误记录,所以我猜它只是在杀死自己或超时?

或者 AWS EB 的弹性特性是否会导致服务器定期重新启动,这显然会关闭邮递员?

现在,我每次使用 rake mailman:start 手动 SSH 到服务器以在 mailman 上运行。我应该怎么做?

或者我如何编写一个脚本,每 5 小时左右手动重新启动 mailman 以确保它始终处于开启状态?

4

1 回答 1

1

您可以使用 AWS Elastic Beanstalk 的 .ebextensions 和 crontab 轻松添加 cron 任务。

https://stackoverflow.com/a/14110976/289316是一个很好的开始,但是我会说您需要使用完整路径来捆绑并通过以下方式调用命令:

/usr/local/bin/bundle exec rake mailman:restart

我通过以下方式实现了该部分:

于 2014-06-11T05:42:40.270 回答