HTTPトリガーにてスクリプトを実行しており、アクセス数の制御のため、実行されるスクリプトの同時実行数を設定したいと考えています

Avatar
dstn

Question

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

Answer

DataSpider Servista にはスクリプト毎の同時実行数を制御する機能はありません。
なお、フラグファイルを利用することで、要件を満たすことが可能です。

■対応例

[概要]
 現在の実行数を判断し、スクリプトの実行有無を判断します。

[詳細]
 以下の処理を追加します。(同時実行数を n とします)
 1. 該当スクリプト実行時に特定ディレクトリに対して一意名のファイルを作成する。
 2. 特定ディレクトリのファイル数をチェックし、n 個以上であれば 1 秒待機する。
 3. ファイル数が n 個未満になるまで、2. の処理を繰り返す。
 4. n 個未満の場合、任意の処理を実行する。
 5. 処理終了時に 1. で作成した一意名のファイルを削除する。

[注意点]
 同じタイミングで複数のスクリプトが 4. の処理を行った場合、 n 以上の数の
 スクリプトが実行される可能性があります。

■応用

フラグファイルの利用は、以下のケースでも有効です。
・トリガーで呼び出したスクリプトの多重起動を禁止したい場合は、n=1 として制御する。
・ある処理の終了を待ってから別の処理を開始したい場合は、フラグファイルの有無から判断する。

■補足

DataSpider 全体で、同時に実行を行うスクリプトの上限数を設定したい場合は、コントロールパネルより「最大同時実行数」を設定してください。
詳細は以下の参考情報をご参照ください。

参考情報

・スクリプトプロセス最大同時実行数の設定
 http://patch.appresso.com/DataSpider/help/latest/doc/help/ja/studio/task_manager.html#config_scriptprocess



[注意事項]
  • このFAQの内容は2017年3月時点のものです。内容は予告なく変更されることがありますので、ご注意ください。
  • 一部にDataSpider Servistaサポートサイトへのリンクを含むことがあります。サポートサイトにアクセスするには、DataSpiderのサポート契約が必要です。


ID:Q198

コメント

記事コメントは受け付けていません。

Powered by Zendesk