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
Другие вопросы по тегам