Windows 上的 Celery:subprocess.call 在 Celery 中访问被拒绝,在 Django 中运行良好
我有以下任务:
@task(track_started = True)
def run_transcode_server():
commands = ('java', '-cp', settings.TRANSCODE_CLASSPATH, settings.TRANSCODE_JAVA_CLASS)
subprocess.call(commands)
直接在 django shell 中调用 subprocess.call 效果很好。但是,当 celery 尝试运行该任务时,会导致以下错误:WindowsError:[错误 5] 访问被拒绝
。
我在同一用户下运行所有内容(这是我的开发环境)。
是什么原因造成的?为什么celery不能执行子进程?
I have the following task:
@task(track_started = True)
def run_transcode_server():
commands = ('java', '-cp', settings.TRANSCODE_CLASSPATH, settings.TRANSCODE_JAVA_CLASS)
subprocess.call(commands)
Making the call to subprocess.call directly in the django shell works just fine. However, when celery tries to run that task, it causes this error: WindowsError: [Error 5] Access is denied
.
I am running everything under the same user (this is my development environment).
What is causing this? Why can't celery execute subprocesses?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里有类似的内容: https://stackoverflow.com/a/7130809/1049127
您是否尝试将完整路径写入Java 可执行文件?
Something similar here: https://stackoverflow.com/a/7130809/1049127
Did you try writing the full path to the Java executable?