私はプログラムによっていくつかのデータを連続的に測定し、それらをmysqlデータベースに保存しています。私が直面している問題は、サーバーがデータベースに接続できないときに、何らかの理由でPythonプログラムが動作しなくなってしまうことです(DBメンテナンスなど)。mysqlデータベースに接続できなくてもPythonプログラムを実行し続ける
ここで必要なのは、データベースに接続できなくてもプログラムを実行し続けることです。
def MyDB():
try:
db = MySQLdb.connect(host="X.X.X.X", user="user1", passwd="passwd1", db="DB1")
cursor = db.cursor()
cursor.execute("INSERT INTO Table1 (timestamp, x1, x2, x3, x4) VALUES ('%s', '%s', '%s', '%s', '%s')" % (x1, x2, x3, x4))
db.commit()
db.close()
except MySQLdb.Error as e:
print (e)
#MyDB
while 1:
# Here my code doing some measurement
Measurement()
# Here I called MyDB to store my measured data
MyDB()
私が取得エラーメッセージは次のとおりです。 OperationalError:(2003、「 'XXXX' でMySQLサーバーに接続できません)
そして、私のプログラムを停止
こんにちは、あなたは、ソースコード、例外/ソフトウェアが失敗したときに投げているような詳細を提供する必要があります、どのようにあなたのpythonアプリケーションを実行している、それはサービスですか?ターミナルから?乾杯。 – Willemoes
こんにちは、私は私の質問を更新しました。端末からのubunterサーバから実行されるプログラム。 – Abs
あなたのコード全体ではありません。あなたは 'MyDB()'とどう呼ばれますか? – Psytho