问题
I am trying to get delayed_job working as a windows service.
I am so thoroughly sick of windows I can't even begin to put it into words, but I am stuck with it for now due to 3rd party dependencies.
Running rake jobs:work
starts the worker in a console with no problems.
I've created an empty windows service to start and shutdown the worker using sc create DelayedJobWorker...
.
However, I can't get the service to start and stop the worker. I'm not sure what the best approach is - what I should be parameterising the service with / asking it to call.
Any suggestions gratefully appreciated.
回答1:
I did this by:
Copying srvany.exe from the Windows Resource Kit to
C:\windows\system32
.Creating an empty service using
sc create JobQueue binPath= "C:\windows\system32"
Adding a registry key called
Parameters
to the service registry key located atHKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > services > JobQueue
Adding the following three string values to the new registry key.
As below:
Application="c:\ruby193\bin\ruby.exe"
AppDirectory="$PATH_TO_RAILS_APP"
AppParameters="c:\ruby193\bin\rake jobs:work RAILS_ENV=$ENVIRONMENT"
来源:https://stackoverflow.com/questions/8386825/running-delayed-job-as-a-windows-service