Ruby on rails 3 编写rake任务以发送每日电子邮件

Ruby on rails 3 编写rake任务以发送每日电子邮件,ruby-on-rails-3,cron,rake,Ruby On Rails 3,Cron,Rake,我对rails真的很陌生。我正在尝试学习如何编写cron作业,并使用rake任务发送每日摘要电子邮件。我该怎么做呢 我猜我在任务中写了一个循环来遍历每个用户、编译和发送电子邮件。然后我将其发送到for循环中 如何将此rake任务设置为cron作业,以便在后台运行?这看起来应该非常简单,但我觉得我遗漏了一些东西。一种方法是定义一个在预定时间运行的rake任务,正如您已经看到的那样。如果您在Linux系统上,Crontab最适合这样做。以下是您要执行的步骤: rake任务具有获取电子邮件以发送摘要电

我对rails真的很陌生。我正在尝试学习如何编写cron作业,并使用rake任务发送每日摘要电子邮件。我该怎么做呢

我猜我在任务中写了一个循环来遍历每个用户、编译和发送电子邮件。然后我将其发送到for循环中


如何将此rake任务设置为cron作业,以便在后台运行?这看起来应该非常简单,但我觉得我遗漏了一些东西。

一种方法是定义一个在预定时间运行的rake任务,正如您已经看到的那样。如果您在Linux系统上,Crontab最适合这样做。以下是您要执行的步骤:

  • rake任务具有获取电子邮件以发送摘要电子邮件的逻辑

  • 一个shell脚本,
    digest.sh
    ,它将加载并运行rake任务。大概是这样的:

  • cd/your/app/usr/bin/rake-utils:sendNotifications>/your/app/log/notifications.log

    我们告诉它进入你的应用程序文件夹(/your/app),运行rake任务
    utils:sendNotifications
    ,并将输出记录在
    log/notifications.log

  • 最后,在Linux上

  • 正如您已经看到的那样,一种方法是定义一个在预定时间运行的rake任务。如果您在Linux系统上,Crontab最适合这样做。以下是您要执行的步骤:

  • rake任务具有获取电子邮件以发送摘要电子邮件的逻辑

  • 一个shell脚本,
    digest.sh
    ,它将加载并运行rake任务。大概是这样的:

  • cd/your/app/usr/bin/rake-utils:sendNotifications>/your/app/log/notifications.log

    我们告诉它进入你的应用程序文件夹(/your/app),运行rake任务
    utils:sendNotifications
    ,并将输出记录在
    log/notifications.log

  • 最后,在Linux上

  • 令人惊叹的。默认情况下,这些rake任务是否在后台运行?是。rake是按计划实例化、运行和完成的。使用rake中的队列发送电子邮件更好吗?因为当我的循环将收集300封邮件发送时,我想这可能是个问题……太棒了。默认情况下,这些rake任务是否在后台运行?是。rake是按计划实例化、运行和完成的。使用rake中的队列发送电子邮件更好吗?因为当我的循环将收集300封邮件发送时,我想这可能是一个问题。。。