【发布时间】:2017-09-08 00:30:10
【问题描述】:
我有一个 python 脚本,它创建一个子进程来运行索引操作(logstash 到 elasticsearch)。
代码sn-p如下,
process = subprocess.Popen([logstash, '-f', sample.conf],
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
我不调用 process.wait(),因为我创建的子进程需要独立于脚本的其余部分运行。
但我必须在子流程完成后更新数据库记录。我正在运行的索引操作不允许我创建允许我更新数据库的发布作业调用。
如何使用 python 子进程处理这个问题?我确实将作业的 PID 存储在一个文本文件中,但我希望有一个触发器,它知道子进程何时完成以执行下一个脚本。
【问题讨论】:
标签: python elasticsearch subprocess logstash