【问题标题】:Running delayed_job as a windows service将延迟作业作为 Windows 服务运行
【发布时间】:2012-01-13 06:46:55
【问题描述】:

我正在尝试让延迟作业作为 Windows 服务工作。

我已经彻底厌倦了 Windows,我什至无法用语言来表达它,但由于 3rd 方的依赖关系,我现在坚持使用它。

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

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

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

非常感谢任何建议。

【问题讨论】:

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


    【解决方案1】:

    我是这样做的:

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

    2. 使用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"
    

    【讨论】:

    • 你说添加“四个字符串值”,但我只看到 3。
    • 哈哈,这不是我的意思。我尝试了说明,但服务无法启动。我以为你错过了一个参数。 PATH_TO_RAILS_APP 是否解析到基目录?
    • 啊,我明白了。您需要将 $PATH_TO_RAILS_APP 和 $ENVIRONMENT 替换为您的 rails 应用程序的实际路径以及您希望它运行的环境。
    猜你喜欢
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    相关资源
    最近更新 更多