0

今まで遭遇したことのない奇妙な問題があります。特定の期間に PDF レポートを配信するスクリプトがあります。これは今まで問題なく機能していましたが、いくつかの更新を行い、それらの変更をサーバーにプルしました。現在、私のプロセスは subprocess.call() でハングしていますが、その理由がわかりません。

これは PIPE を使用するときに問題になる可能性があると読みましたが、そうではありません。この問題をどのようにデバッグするかさえわかりません。何か案は?

subprocess.call(
                ['{}/orca.sh'.format(orca_dir),
                 'graph',
                 json.dumps(chart, cls=plotly.utils.PlotlyJSONEncoder),
                 '--width',
                 '1200',
                 '--scale',
                 '4',
                 '-o',
                 '/temp/{}'.format("a" + (count * "a"))]
)



 File "/root/**", line 97, in **
    '/temp/{}'.format("a" + (count * "a"))])
  File "/root/anaconda3/envs/**/lib/python3.7/subprocess.py", line 325, in call
    return p.wait(timeout=timeout)
  File "/root/anaconda3/envs/**/lib/python3.7/subprocess.py", line 990, in wait
    return self._wait(timeout=timeout)
  File "/root/anaconda3/envs/**/lib/python3.7/subprocess.py", line 1624, in _wait
    (pid, sts) = self._try_wait(0)
  File "/root/anaconda3/envs/**/lib/python3.7/subprocess.py", line 1582, in _try_wait
    (pid, sts) = os.waitpid(self.pid, wait_flags)

orca.sh は、Orca の AppImage コンテナーを実行して、指定されたパラメーターでスタンドアロン ソフトウェアを実行します。このスクリプトを 2 つのサーバーで実行したことも注目に値しますが、2 つ目のサーバーは更新前のものであり、問​​題なく動作します。私が行った変更は、この呼び出しがどのように行われるか、またはどのように機能するかについて行われていません。AppImage コンテナー内の何かが原因でハングアップする可能性はありますか?

4

1 に答える 1

0

問題を特定しました。

これらのグラフを生成するために Plotly オブジェクトのリストをコンパイルした私のスクリプトは、最初の plotly オブジェクトを正しく生成できませんでした。したがって、最初のオブジェクトは NoneType でしたが、subprocess.call() はリストの各メンバーで呼び出されました。残念ながら、AppImage はチャート データを受信しなかったため、無期限にハングアップしたようです。

于 2020-04-20T14:30:47.883 に答える