Django ビューを介して次のコードを実行するスクリプトがあります。
# generate dag file
try:
commandString = [
'python',
os.path.join('/srv/nfsshare/transcode50', userFolder, directory, 'condor_execute.py')
]
subprocess.check_call(commandString,
stdout=open('/srv/nfsshare/transcode50/output2.txt', 'w'),
stderr=subprocess.STDOUT)
except Exception, e:
open('/tmp/test_exception.txt', 'w').write(str(e))
raise
それがすべきことは、私が生成した Python ファイルを実行することです。その正確なコマンドをサーバーのコマンド プロンプト (つまりpython /srv/nfsshare/transcode50/cogden/algorithms/condor_execute.py
) から実行すると、問題なく動作し、必要なファイルがそのディレクトリ内に作成されます。ただし、Django から実行すると、エラー メッセージは生成されず、正しいコンソール出力 (基本的に「Created file blah at blah」というメッセージ) が生成されますが、通常は 2 つ生成される場合、ファイルはまったく生成されません。アクセス許可エラーなどは発生せず、ディレクトリが適切に chmod されていることを確認しました。