• No : 21149
  • 公開日時 : 2015/03/02 08:14
  • 更新日時 : 2020/03/23 11:52
  • 印刷

【DataSpider Servista】 スクリプト毎の同時実行数を設定することはできますか

HTTPトリガーにてスクリプトを実行しており、アクセス数の制御のため、実行されるスクリプトの同時実行数を設定したいと考えています。DataSpider にて、スクリプト毎の同時実行数を設定することはできますか。
カテゴリー : 

回答

DataSpider にはスクリプト毎の同時実行数を制御する機能はありません。なお、フラグファイルを利用することで、要件を満たすことが可能です。
 
■対応例
 
[概要]
現在の実行数を判断し、スクリプトの実行有無を判断します。
 
 
[詳細]
以下の処理を追加します。(同時実行数を n とします)
  1. 該当スクリプト実行時に特定ディレクトリに対して一意名のファイルを作成する。
  2. 特定ディレクトリのファイル数をチェックし、n 個以上であれば 1 秒待機する。
  3. ファイル数が n 個未満になるまで、2. の処理を繰り返す。
  4. n 個未満の場合、任意の処理を実行する。
  5. 処理終了時に 1. で作成した一意名のファイルを削除する。
[注意点]
同じタイミングで複数のスクリプトが 4. の処理を行った場合、 n 以上の数のスクリプトが実行される可能性があります。
 
■応用
 
フラグファイルの利用は、以下のケースでも有効です。
  • トリガーで呼び出したスクリプトの多重起動を禁止したい場合は、n=1 として制御する。
  • ある処理の終了を待ってから別の処理を開始したい場合は、フラグファイルの有無から判断する。
■補足
 
DataSpider 全体で、同時に実行を行うスクリプトの上限数を設定したい場合は、コントロールパネルより「最大同時実行数」を設定してください。詳細は以下の参考情報をご参照ください。
 
 
参考情報
 
・スクリプトプロセス最大同時実行数の設定