将delayed_job作为Windows服务运行
我试图让delayed_job作为Windows服务工作。
我完全厌倦了Windows,我甚至无法开始说话,但由于第三方的依赖性,我现在仍然坚持使用它。
运行rake jobs:work
在控制台中启动工作者没有问题。
我创建了一个空的Windows服务来使用sc create DelayedJobWorker...
来启动和关闭worker。
但是,我无法获得启动和停止工作的服务。 我不确定最好的方法是什么 – 我应该将服务参数化/要求它调用。
任何建议感激不尽。
我是这样做的:
-
将srvany.exe从Windows Resource Kit复制到
C:\windows\system32
。 -
使用
sc create JobQueue binPath= "C:\windows\system32"
空服务sc create JobQueue binPath= "C:\windows\system32"
-
将名为
Parameters
的注册表项添加到位于HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > services > JobQueue
的服务注册表项中 -
将以下三个字符串值添加到新的注册表项。
如下:
Application="c:\ruby193\bin\ruby.exe" AppDirectory="$PATH_TO_RAILS_APP" AppParameters="c:\ruby193\bin\rake jobs:work RAILS_ENV=$ENVIRONMENT"