Создание демона не работает с использованием Win32Utils ruby ​​gem - PullRequest
1 голос
/ 07 февраля 2011

Это код, который я пытаюсь запустить как службу.

            require 'rubygems'
            require 'win32/daemon'
            require 'win32/service'
            include Win32

               class Daemon
                  def service_main
                 while running?
                    sleep 3
                    File.open("c:\\test.log", "a"){ |f| f.puts "service is running" }
                 end
                  end

                  def service_stop
                 exit!
                  end
               end

            Daemon.mainloop

Это код, который я использую для регистрации Сервиса требовать 'rubygems' требуется 'win32 / service'

include Win32

SERVICE_NAME = 'ruby_sample1'

# Create a new service
ser = Service.create({
  :service_name        => SERVICE_NAME,
  :service_type       => Service::WIN32_OWN_PROCESS,
  :description        => 'A custom service I wrote just for fun',
  :start_type         => Service::AUTO_START,
  :error_control      => Service::ERROR_NORMAL,
  :binary_path_name   => 'c:\\Ruby186\\bin\\ruby.exe -C c:\\temp\\test.rb',
  :load_order_group   => 'Network',
  :dependencies       => ['W32Time','Schedule'],
  :display_name       => SERVICE_NAME
})

После регистрации службы я пытаюсь запустить службу из services.msc. Я получаю сообщение об ошибке «Ошибка 1053: служба не ответила на запрос запуска или управления своевременно»

1 Ответ

2 голосов
/ 20 мая 2011

откройте сеанс irb и скажите - требуется 'win32 / daemon'

Скорее всего, вы получите ответ на проблему 1053, особенно если вы установили гем win32-service для платформы mswin32.

У меня была та же проблема, и гем win32-сервиса просто не будет собираться для платформы ruby ​​на моей машине даже после установки devkit.Он постоянно выдавал мне следующую ошибку

win32 / daemon.c: 141: 7: ошибка: '__try' не объявлена ​​(первое использование в этой функции)

В конце концов я закончил сборку win32-serviceиз последнего кода на github.

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