用django芹菜调用s3cmd



我在django应用程序中有这些行。它们在正常情况下运行良好,但当我把它们称为芹菜任务时,似乎什么都没发生。我甚至找不到报告的错误。有人能告诉我哪里可能出错吗?

cmd = "/path/to/unzipped_s3cmd/s3cmd get s3://%s %s/"
subprocess.call(cmd % (s3path,localpath), shell=True)

我正在django用户下运行芹菜任务。

这可能是因为模块subprocess没有导入到您的函数中。这意味着芹菜任务没有看到模块subprocess,因为该任务将运行到自己的进程/thread/greenlet中。

示例:

@task
def some_function():
    import subprocess
    cmd = "/path/to/unzipped_s3cmd/s3cmd get s3://%s %s/"
    sp = subprocess.call(cmd % (s3path,localpath), shell=True)
    return sp.returncode

我想这一定与s3cmd的路径或用户权限有关。我刚刚使用ubuntu包存放库安装了s3cmd,而不是进行本地解压缩,现在它可以很好地与芹菜配合使用。

相关内容

  • 没有找到相关文章

最新更新