There is no problem with running celery directly, but using monitoring software to start celery cannot run successfully. What is the possible reason?

there is a graphics class celery task that must be run under windows.
typing celery directly on the command line can run successfully as a whole and get the correct results.
while using nssm to package celery as a service to start, although the task can still be started normally,
will report: Failed to created the Direct3D device when the task is running, at the same time, the task will continue to run to the end, but the result is not correct (get a result that is different from the correct result, but not very different)
individuals have been trying for a long time, but the result is very depressed. Welcome to provide the answer or any little bit of ideas, thank you very much!

Note: nssm is a software that packages exe under windows as a service. It is used for the sake of server stability.


what? You tagged supervisor? Supervisor supports Windows??

your service cannot access D3D. The running environment of the service is different from that of ordinary processes. Take a look at the MSDN documentation and see how the service can access D3D.

Menu