Ух ты - я написал тот же вопрос 5 ноября.Итак, я должен быть на правильном пути, по крайней мере!:)
Задержка с заданием act_as_ferret в производственном режиме
Чтобы помочь с дополнительным контекстом вопроса: - я не написал специального кода.Все модели имеют
acts_as_ferret :remote => true
Инициализатор ferret_server, как обычно:
$ cat config/ferret_server.yml
# configuration for the acts_as_ferret DRb server
# host: where to reach the DRb server (used by application processes to contact the server)
# port: which port the server should listen on
# pid_file: location of the server's pid file (relative to RAILS_ROOT)
# log_file: log file (default: RAILS_ROOT/log/ferret_server.log
# log_level: log level for the server's logger
production:
host: localhost
port: 9010
pid_file: log/ferret.pid
log_file: log/ferret_server.log
log_level: warn
Я могу запустить другой delayed_job, который НЕ изменяет записи, но собирает данные - так работает delayed_job.Это спавнер delayed_job, который у меня есть:
$ cat script/delayed_job
#!/usr/bin/env ruby
ENV['RAILS_ENV'] = 'production'
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'boot'))
require 'delayed/command'
Delayed::Command.new(ARGV).daemonize