Windows上Celery:在Celery中调用subprocess.call被拒绝,Django中正常运行

0 投票
1 回答
1737 浏览
提问于 2025-04-17 11:17

我有一个这样的任务:

@task(track_started = True)
def run_transcode_server():
    commands = ('java', '-cp', settings.TRANSCODE_CLASSPATH, settings.TRANSCODE_JAVA_CLASS)
    subprocess.call(commands)

在django的命令行里直接调用subprocess.call是没问题的。但是,当celery尝试运行这个任务时,就出现了这个错误:WindowsError: [Error 5] Access is denied

我是在同一个用户下运行所有东西(这是我的开发环境)。

这是什么原因呢?为什么celery不能执行子进程呢?

1 个回答

1

这里有类似的内容: https://stackoverflow.com/a/7130809/1049127

你有没有试着写出Java可执行文件的完整路径呢?

撰写回答