设计每个用户的Cron工作

时间:2011-12-08 17:37:59

标签: ruby-on-rails ruby devise

我正在尝试在Cron作业中扫描Devise创建的用户数据库,然后为每个用户重复前端作业。

所以例如

我想运行一个cron作业,获取所有用户ID,然后在每个用户ID上运行某个命令,例如拉取电子邮件地址,然后将它们输出到另一个DB中。

我已经尝试了几天没有运气...并在网上搜索找到答案或者我可以使用和适应的东西..任何人都可以在我的问题上传播任何信息...... ??

2 个答案:

答案 0 :(得分:1)

# lib/tasks/cron.rake
namespace :cron do
  desc 'gather users and send commands to cron'
  task :users => :environment do
    User.all.each do |user|
      `command to output in another db #{user.email}`
    end
  end
end

# crontab
0 * * * * /bin/bash -l -c 'cd /your/rails/dir && RAILS_ENV=production bundle exec rake cron:users'

答案 1 :(得分:0)

在@Unixmonkey的帮助下修复了问题

".map(&:uid)