将delayed_job作为Windows服务运行

我试图让delayed_job作为Windows服务工作。

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

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

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

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

任何建议感激不尽。

我是这样做的:

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

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

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

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

如下:

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