Сценарий Ruby как сервис

Ну, заголовок говорят все это. У меня есть рубиновый скрипт, который я хочу запустить как услуга (один, я могу запустить и остановиться) на моем поле Linux. Я смог найти, как сделать это в Windows здесь

Некоторые чтения указывают на создание задачи крона или демоны.

Мне просто нужно что-то простое, я могу обратиться к перезагрузке своего поля и могу остановиться/начать каждый раз, когда мне нравится. мой сценарий имеет внутренний вызов сна и работает в "вечном цикле"

заранее спасибо

8
задан Community 23 May 2017 в 11:59
поделиться

2 ответа

На самом деле я нашел гораздо лучший способ сделать это, используя скрипты ruby.

Вот как я это сделал:

Прежде всего, я установил демон

gem install daemons

Затем я сделал:

require 'rubygems'
require 'daemons'

pwd  = File.dirname(File.expand_path(__FILE__))
file = pwd + '/runner.rb'

Daemons.run_proc(
   'my_project', # name of daemon
   :log_output => true
 ) do
   exec "ruby #{file}"
end

Затем я создаю файл с именем runner.rb, в котором я могу вызывать свои сценарии, например:

require "/var/www/rails/my_project/config/environment"
Post.send('details....')

Демоны - это настоящая жемчужина!

14
ответ дан 5 December 2019 в 10:02
поделиться

RAA - deamons - очень полезный инструмент для создания демонов unix из скриптов Ruby.

3
ответ дан 5 December 2019 в 10:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: