Rufus Scheduler не работает
Я хочу сделать что-то простое с гемом rufus-scheduler: https://github.com/jmettraux/rufus-scheduler
но я не могу заставить его работать.
У меня есть регулярное приложение рельсов. Я создал файл.rb:
# test_rufus_scheduler.rb
require 'rubygems'
require 'rufus/scheduler'
scheduler = Rufus::Scheduler.start_new
scheduler.in '1s' do
puts "hello world"
end
Затем, когда я пробую ruby test_rufus_scheduler.rb, ничего не происходит. Я делаю это правильно? список драгоценных камней показывает rufus-планировщик.
Благодарю.
3 ответа
Если ваш скрипт выходит сразу, попробуйте добавить
scheduler.join
в конце. Обратите внимание, что это отличается при запуске скрипта в одиночку и через рельсы. Смотрите README для подробной информации.
Нашел решение этой проблемы здесь (что также соответствует ajet выше).
Производственные серверы требуют немного дополнительной настройки. На большинстве рабочих веб-серверов простаивающие процессы Ruby уничтожаются. Чтобы Руфус работал, вам нужно остановить это. Для Passenger/Nginx вы можете скопировать следующий код ниже в ваш файл конфигурации nginx.conf для вашего сайта после строки, в которой указано passenger_enabled;,
nginx.conf:
passenger_spawn_method direct;
passenger_min_instances 1;
passenger_pool_idle_time 0;
Добавьте следующие строки в конфигурацию apache2 и перезапустите сервер apache2.
RailsAppSpawnerIdleTime 0
PassengerMinInstances 1