使用来自airflow的popen调用sqlcl时挂起

2024-05-13 09:02:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我们在启动气流操作符内的subprocess.Popen时遇到问题。我们使用以下代码启动sqlcl:

import subprocess
cmd = '/usr/local/bin/sqlcl -V'
p = subprocess.Popen(
    cmd, shell=True,
    stdout=subprocess.PIPE,
    stderr=subprocess.STDOUT,
    text=True,
    executable='/bin/bash')
for line in iter(p.stdout.readline, ''):
    self.log.info('%s', line)
p.wait()
# we have also tried p.communicate() and p.poll() here

当从ipython运行时,上面的代码段可以工作,但当从内部运行时,它会挂起而没有输出。有什么建议吗


Tags: 代码importcmdtruebinusrlocalstdout