`
myrev
  • 浏览: 164186 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

Rails3利用whenever gem调度发送邮件

阅读更多

1. Install

$ gem install whenever

Or with Bundler in your Gemfile.

gem 'whenever', :require => false

2. Getting Started
$ cd /my/rails/app
$ wheneverize .

This will create an initial "config/schedule.rb" file you.

config/schedule.rb

# Learn more: http://github.com/javan/whenever
set :output, "#{path}/log/whenever.log"

every 15.minutes do
  rake "send_emails"
end

 

3. Rake Tasks

desc "send emails"
task :send_emails do
  command = "ar_sendmail_rails3 -o -e #{Rails.env}"
  `#{command}`
end

4. Command

The whenever command

$ cd /my/rails/app
$ whenever

This will simply show you your schedule.rb file converted to cron syntax. It does not read or write your crontab file. Run whenever --help for a complete list of options.

Usage: whenever [options]
    -i [identifier],                 Default: full path to schedule.rb file
        --update-crontab
    -w, --write-crontab [identifier] Default: full path to schedule.rb file
    -c, --clear-crontab [identifier]
    -s, --set [variables]            Example: --set environment=staging&path=/my/sweet/path
    -f, --load-file [schedule file]  Default: config/schedule.rb
    -u, --user [user]                Default: current user
    -k, --cut [lines]                Cut lines from the top of the cronfile
    -v, --version



5. Add cron job
$ cd /my/rails/app
$ whenever -s environment=qa -w AC

6. Update cron job
$ cd /my/rails/app
$ whenever -i AC

7. Clear cron job
$ cd /my/rails/app
$ whenever -c AC

8. Capistrano
namespace :deploy do
...  
desc "Stop the existing cron job"
  task :stop_cron, :roles=>:app do
    run("crontab -r")
  end

  desc "Update the crontab file"
  task :update_crontab, :roles => :db do
    run "cd #{current_path} && whenever --set environment=#{rails_env} --update-crontab #{application}"
  end

....
end

After Task
after "deploy:symlink","deploy:update_crontab"


9. Tips
If you use RVM, you should install it on system root path or make a soft link to rake. Maybe whenever can't find rake in /usr/bin/.

0
0
分享到:
评论

相关推荐

    rails-2.3.5.gem

    rails-2.3.5.gem redmine必须gem

    rails-2.3.8.gem

    版本为:rails-2.3.8.gem 可使用指令安装:gem install rails-2.3.8.gem

    jquery-rails, 一个 gem,用于自动使用jQuery和 Rails 3.zip

    jquery-rails, 一个 gem,用于自动使用jQuery和 Rails 3 railsjQuery 面向 Rails 如此伟大。这里 gem 提供:jQuery 1.7.2jQuery UI 1.8.18 ( 仅适用于 javascript )jQuery UJS适配器assert_select_j

    rails-2.3.11.gem

    是我搭建redmine过程中所使用到的资源,因为感到很多东西不太好找,所以给上传上来,供自己和大家使用。

    rails-2.1.0-gem

    "rails-2.1.0-gem"是Rails框架的一个特定版本,即2.1.0的gem包,用于在Ruby环境中安装和管理Rails框架。 Rails的核心理念是“约定优于配置”(Convention over Configuration),这意味着开发者可以遵循一套预设的...

    adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成.zip

    adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成 AdminLTE Rails gem AdminLTE 是后端的高级 Bootstrap 主题。英镑 AdminLTE Rails gem 与 Rails 资产管道集成了英镑AdminLTE主题。安装将...

    rails2.3.2gem本地安装包及使用说明

    - Rails 2.3.2 在 2009 年发布,引入了许多增强功能,如 Active Record 的 Active Record::Observer,用于监听模型事件,以及 Action Mailer 的改进,使邮件发送更加灵活。 - 此版本还支持插件的自动加载,这使得...

    rails-2.1.2.gem

    ruby开发插件rails-2.1.2.gem

    roadie-rails, 使HTML电子邮件适合 Rails rockstars.zip

    roadie-rails, 使HTML电子邮件适合 Rails rockstars roadie 使HTML电子邮件适合 Rails rockstars 。这里 gem 将 Rails 应用程序与Roadie钩子,以帮助你生成HTML电子邮件。安装将这个 gem 添加到你的Gemfile,

    rails-2.1.0-gem包

    这个gem包是Rails 2.1.0版本的源代码和相关库的集合,允许开发者在他们的项目中引入这个特定版本的Rails。下面将详细讨论Rails 2.1.0中的关键特性、改进和对开发者的重要意义。 首先,Rails 2.1.0 引入了Action...

    rails4常用gem3

    rails4gems.part3.rar rails4常用gem3

    rails-4.1.2.gem

    rails on ruby 4.1.2相关的GEM安装包

    rails-2.2.3.gem

    Rails框架首次提出是在2004年7月,它的研发者是26岁的丹麦人David Heinemeier Hansson。不同于已有复杂的Web 开发框架,Rails是一个更符合实际需要而且更高效的Web开发框架。Rails结合了PHP体系的优点(快速开发)和...

    ruby on rails使用的gem

    ROR安装的最版本的GEM,ruby on rails即ROR

    cloudinary_gem, 用于 Ruby on Rails 集成的Cloudinary gem.zip

    cloudinary_gem, 用于 Ruby on Rails 集成的Cloudinary gem CloudinaryCloudinary是一个云服务,提供了一个解决方案,可以解决整个应用程序图像管理管道的问题。轻松将图片上传到云。 自动执行智能图像调整,裁剪和...

    awesome-rails-gem-zh_CN, Rails 常用 Gem 列表 - Awesome Rails Gem 中文版.zip

    以上只是Awesome Rails Gem列表中的一部分,实际列表还包含了更多用于数据库迁移、日志记录、邮件发送、国际化、安全、缓存、版本控制等各个方面的Gem。通过这个列表,开发者可以快速找到适合自己项目的Gem,极大地...

    Ruby-TranslateEnum简单零依赖Rails的Enums翻译gem

    "Ruby-TranslateEnum"是一个针对Rails应用的开源gem,旨在为Rails的枚举提供翻译功能,从而帮助开发者创建多语言应用。 TranslateEnum gem的设计目标是简洁且无依赖,这意味着它不会引入额外的复杂性或与其他库...

    OAuth gem for rails3

    OAuth gem for Rails3 是一个针对Ruby on Rails框架的授权库,它实现了OAuth协议,以便于在Rails应用中安全地处理第三方服务的授权流程。OAuth是一个开放标准,允许用户让第三方应用在无需分享用户名和密码的情况下...

    jquery-datatables-rails, 用于 Rails的jquery数据表 gem.zip

    jquery-datatables-rails, 用于 Rails的jquery数据表 gem jquery-datatables-rails 这个 gem 为 jQuery DataTables插件提供了方便,以便与 Rails 资产pipleine结合使用。 它提供所有基本的datatable文件,以及一些...

Global site tag (gtag.js) - Google Analytics