Разработайте Cron Job Per User - PullRequest
0 голосов
/ 08 декабря 2011

Я пытаюсь отсканировать базу данных пользователей, которую создает Devise, в задании Cron, а затем повторять задание fron для каждого пользователя.

Так например

Я хочу запустить задание cron, получить все идентификаторы пользователей, затем для каждого идентификатора пользователя выполнить определенную команду, например, вытащить адреса электронной почты и затем вывести их в другую БД.

Я уже пару дней пытаюсь без удачи ... и обыскиваю всю сеть, чтобы найти ответ или что-то, что я могу использовать и адаптировать ... Кто-нибудь может пролить свет на мою проблему ... ??

Ответы [ 2 ]

1 голос
/ 09 декабря 2011
# 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'
0 голосов
/ 13 декабря 2011

Исправлено с помощью @Unixmonkey проблема отсутствовала

".map(&:uid)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...