将delayed_job作为Windows服务运行

时间:2011-12-05 14:30:56

标签: ruby-on-rails windows-services delayed-job

我正在尝试将delayed_job作为Windows服务工作。

我非常厌倦了Windows,我甚至无法开始说话,但由于第三方的依赖,我现在仍然坚持使用它。

运行rake jobs:work在控制台中启动工作程序没有问题。

我创建了一个空的Windows服务来使用sc create DelayedJobWorker...启动和关闭工作程序。

但是,我无法获得启动和停止工作的服务。我不确定最好的方法是什么 - 我应该通过/要求它来调整服务的参数。

感谢任何建议。

1 个答案:

答案 0 :(得分:5)

我是这样做的:

  1. 将srvany.exe从Windows Resource Kit复制到C:\windows\system32

  2. 使用sc create JobQueue binPath= "C:\windows\system32"

  3. 创建空服务
  4. 将名为Parameters的注册表项添加到位于HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > services > JobQueue的服务注册表项

  5. 将以下三个字符串值添加到新的注册表项中。

  6. 如下:

    Application="c:\ruby193\bin\ruby.exe"
    AppDirectory="$PATH_TO_RAILS_APP"
    AppParameters="c:\ruby193\bin\rake jobs:work RAILS_ENV=$ENVIRONMENT"