既存のサービスが存在するプロジェクトを修正しました

Avatar
dstn

Question

既存のサービスが存在するプロジェクトを修正しました。
サービスを再登録して反映させたいのですが、該当のサービスが実行されている場合、実行される内容は
途中から切り替わってしまうでしょうか?

Answer

■仕様説明

サービスに登録した内容は、トリガーやScriptRunner 、スレッドコンポーネントから起動された
タイミングでメモリ上にロードされます。

このため、サービスの実行中に更新した場合でも、既にロードされた内容でスクリプトが実行され、
途中で内容が切り替わることはありません。

■注意点

仕様説明に記載している通り、スレッドコンポーネントの中で[スクリプト呼び出し]を使用して
サービスを呼び出している場合、スレッドの開始時点で最新のサービスをロードします。

このため、スレッドコンポーネントの中で[スクリプト呼び出し]を使用してサービスを呼び出している
場合のみ、そのサービスは、スクリプト開始時点の状態ではなく、スレッドを開始した時点の状態で
あることにご注意ください。

たとえば、同一サービス内に以下のような二つのスクリプトが存在するとします。
・親スクリプト
 スレッドコンポーネントの中で[スクリプト呼び出し]で子スクリプトを呼び出す

・子スクリプト
 連携処理を実施する

この場合に、親スクリプトを実行して、スレッドの開始前にサービスを再登録した場合、
親スクリプトの部分は、スクリプト開始時点の状態(再登録前)で実行されますが、
子スクリプトの部分は、スレッド開始時点の状態(再登録後)で実行されます。

このため、スレッドコンポーネントの中で[スクリプト呼び出し]を使用してサービスを呼び出す
スクリプトの場合は、各スクリプト内では処理内容は変わりませんが、親スクリプトと
子スクリプトで実行されるバージョンが異なることがあります。



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


ID:Q182

コメント

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

Powered by Zendesk