【问题标题】:how can I put a process in background using django?如何使用 django 将进程置于后台?
【发布时间】:2011-02-21 18:58:13
【问题描述】:

我尝试过 os.system、os.spwanl 等,但效果不佳

我需要从 django 应用程序执行一些后台进程。

【问题讨论】:

    标签: python django process system


    【解决方案1】:

    尝试使用celery。它最初是为此目的而创建的,并且还支持调度任务。

    【讨论】:

      【解决方案2】:

      subprocess 模块为您提供比 os.system 提供的更细粒度的生成进程控制。

      【讨论】:

        【解决方案3】:

        我以前使用subprocess 从 Django 生成后台进程。这可能取决于您的环境,但我将它与 modpython 和 modwsgi 一起使用没有问题。

        【讨论】:

          【解决方案4】:

          我已使用paramiko 将进程置于后台以用于 localhost/remote hots..,

          ssh = paramiko.SSHClient()
          ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
          ssh.connect(host,user,pwd,port,.......)
          
          si, so, se = ssh.exec_command('nohup' + cmd + '&')
          so.read()
          se.read()
          

          已解决问题....

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2021-09-29
            • 1970-01-01
            • 2018-07-27
            • 2018-08-26
            • 2016-02-21
            • 1970-01-01
            • 2010-09-12
            相关资源
            最近更新 更多