質問: bash上で500回同じファイルに追記モードでjson.dump行うテストを行いました。 ファイル内での順序は入れ替わりましたが欠けたデータはななかったので上のやり方で問題なく行くはずだと考えてます。 ``` for i in {1..500} ; do ./test.py ${i} & done ```
回答: 結論から言うとファイルで管理する場合、送信前のページにtoken発行機構を付け登録処理で最初のtokenの場合だけ許す。という処理がベターです。 これは実際のWEBサイトは並列で実行されるのでタイミング次第では書き込んでる途中に別なデータが割り込むのも確率的には不整合する可能性があるためです。 同じファイルを更新する場合は別途ディレクトリを使ったロック処理をするのが確実ですが、待ち、リトライ、再実行させるなど必要です。 どのようなデータ連携かは推察し得ないので明確な回答はできませんが、ユーザIDなどユニークな値があるならばそれをファイル名にすると衝突性は低くなります(WEBサービスなので複数のタブを開いて一斉送信するとやっぱり不整合を起こす)。 そのためDBを使わないならtoken機構が一番確実です