2017-10-31 5 views
0

Pythonで書かれた独立したプロジェクトはほとんどありません。私はdailyを実行したいと思います。私はUbunutuサーバ上でcrontabを使用するつもりですが、これらのプロジェクトを管理するためにscriptを書きたいと思います。最後に失敗したスクリプト、失敗したエラー、成功した場合の実行時間毎日のpythonタスクcrontab

私は2アイデアを持っています。私はどちらが良いかを判断するのを手伝ってくれますか?

1:crontabはbashファイルを実行し、このbashファイルは各スクリプトを起動し、実行に要した時間を計算します。

2:crontab等他のすべてのスクリプトを実行し、それらが実行するために使用する時間を計算しますPythonスクリプトを実行します

申し訳ありませんが、英語は私の主な言語ではありません。

+0

何故何人かの理由でダウンボートしますか? – Lowteast

答えて

1

良い質問!これらのソリューションはどちらも可能ですが、おそらくPythonでスクリプトを書く方が簡単です(解決策2)。

バッシュスクリプトは素晴らしいですが、ここでbashスクリプトを作成する場合は、他のすべてのスクリプトの結果が渡された別のスクリプトを作成する必要があります。それは、スクリプトの時間に困難になり、一般的に少しunwieldlyありますこの方法では

##results.sh 
first_result = python script1.py 
second_result = python script2.py 
python email_results.py $first_result $second_result 

:それは次のようになります。

Pythonを使用した場合は、time.time()を使用して作業を行うことができますが、一般的には少し面白くなります。

##python 
import time 
import script1 

start = time.time() 
result = script1() 
end = time.time() 

time_elapsed = (end - start) 

email_results(result, time_elapsed) 

この機能が役立ちますように!がんばろう!

1

こんにちは私はそれを行うためにpythonを使用しました!それはとても柔軟です! しかし、私のスクリプトを呼び出すために、私は「OS」コマンドを使用することにしました:

folderList=next(os.walk('.'))[1] 
    for folder in folderList: 
     os.chdir(folder) 
     res =subprocess.Popen(["venv/bin/python", "main.py"],stdout=subprocess.PIPE,stderr=subprocess.PIPE) 
    os.chdir("..") 

それがうまく機能し、すべての私のスクリプトを実行します!もちろん、私は例外ハンドラなどを追加しました。あなたの答えをありがとう! :)

関連する問題