我有一个应用程序,每分钟检查一次数据库,以查找当时应该发送的任何电子邮件.我正在考虑将这个作为一个rake任务,每分钟由一个cron作业运行.会有更好的解决方案吗?
从我所读到的,这不是理想的,因为rake必须每分钟加载整个rails环境,这变得昂贵.
思考?
谢谢.
你可以用backgroundrb
.但是,这将占用远离主Rails应用程序的内存,因为它将生成一个独有的Ruby实例backgroundrb
.
您还可以SystemController
在主应用程序中定义(或等效),并使用与应用程序应执行的各种家庭任务相对应的各种操作.你可以"刺激"它crontab
使用wget
或者curl
的优势在于它与您的主应用程序共享资源.根据你是多么偏执,或者对于暴露这种控制器(可能是外部世界)的DOS(或其他类型的攻击)的易受攻击程度,你可以选择阻止从环回以外的地址访问该控制器的URL(理想情况下,在您的反向代理中,或者从控制器本身.)