■ファイルの排他制御について
DataSpider には特定ファイルに対する排他ロックを行う機能はありません。
過去事例では、以下のいずれかのような方法でご対応いただいていました。
- スクリプトの実行タイミングなどの設定で同時に書き込みしないように設定する
- 書き込み対象をデータベースに変更する
- 書き込み対象のファイル名に実行IDなどを付与し処理毎に一意のファイルに書き込み、 後からファイルをマージする
■データベースの排他制御について
DataSpider のアダプタでは、DB のテーブルに対し、明示的にロックは行っていません。
RDB のトランザクション分離レベル等、DB の仕様、設定に依存します。
下記 FAQ にも記載があるため、ご参照ください。
・No:21206
【DataSpider Servista】 DBトリガーでは監視対象のテーブルにロックを行っていますでしょうか
なお、DataSpider では、接続先のデータベースにてデッドロックが発生した場合の
タイムアウトを設定することはできません。
そのため、デッドロックが発生した場合、一定時間経過したスクリプトを検出するようなスクリプトを作成し、
実行し続けているスクリプトがあった場合は、メールでの通知を行う等の
作り込みしていただくことをお考え下さい。
例)
[シナリオ一覧] - [定時間以上実行しているスクリプトを検出したい]
■補足
接続先からの応答待ちによってスクリプトが実行中のままとなった場合、
スクリプトを停止するためには DataSpiderServer を再起動する必要があるため、ご注意ください。
FAQ No:21126
【DataSpider Servista】 スクリプトが実行中のまま終了しない状況になりました