naoto kadowaki
Administrator

naotokadowaki_1-1771998067812.png

 

本稿はこちらの記事の翻訳です。最新の情報は元となる記事をご覧ください。
このトピックの一部は機械翻訳で処理されている場合があります。

 

専門家に質問する:フローのパフォーマンスとデバッグ

 

ServiceNow でのフローのデバッグや最適化に苦労していますか?このプラットフォームアカデミーセッションには、フローエンジンとフローデバッガーを最大限に活用するのに役立つインサイトが満載です。

Sharon Barnes が進行役を務め、Eric、Riya、Sravya、Vincent などの ServiceNow エキスパートのパネルが参加し、実践的なデモ、ベストプラクティス、開発者のよくある質問への回答が得られます。

 

 

このセッションを今すぐ YouTube でご覧ください!

リソース

一般的なガイドライン (ドキュメント)

 

デバッグに関する前回のプラットフォームアカデミー:

https://sn.works/platformacademy/19

 

エラー処理:

https://sn.works/CoE/ErrorHandling

 

プレイブックの開始:

https://sn.works/CoE/StartPlaybooks

 

フローでの承認:

https://sn.works/CoE/FlowApproval

 

Creator Toolbox (フローデバッガーについては 36:50 までスキップ)

https://www.servicenow.com/community/developer-advocate-blog/creator-toolbox-playbook-triggers-amp-p...

 

SNU コンテンツ (別名 Now Learning)

https://sn.works/CoE/Training

 

トップに戻る^

ServiceNow のフローのデバッグと最適化:プラットフォームアカデミーの重要なポイント

ServiceNow で信頼性の高いフローを構築することは、特にエラーが表面化したりパフォーマンスが低下したりすると、難しくなる可能性があります。このプラットフォームアカデミーセッションでは、ServiceNow のエキスパートが、新しい フローデバッガー、フローパフォーマンス、および複雑な自動化を処理するための戦略 について知っておくべきすべてのことを説明します。

 

フローデバッガーの動作例

Yokohama リリースで初めて導入された、 フローデバッガーは、トラブルシューティングにおける当て推量を排除します。ブレークポイント、ステップナビゲーション、およびプラットフォームスクリプトデバッガーへの直接統合により、開発者は長くて複雑なフローやカスタムアクションスクリプトをこれまで以上に簡単にデバッグできます。

 

パフォーマンスのベストプラクティス

フローが大きくなりすぎると、メモリと実行時間がすぐに影響を受ける可能性があります。セッションからの主な推奨事項は以下のとおりです。

  • フローを 25 アクション以下に保持します。必要に応じてサブフローに分割します。
  • 推奨上限: フローあたり 50 アクション (システムプロパティで制御)。
  • ループ: 1,000 回の反復を超えないようにします。
  • アクティブなトラブルシューティングを行っている場合を除いて、詳細なログ記録は最小限に抑えます。
  • リソース管理を改善するために、可能な限りフローを非同期に実行します。

 

複雑な自動化のプレイブック

フローが大規模になった場合、プレイブックは複数のサブフローを UI レイヤーで調整できるため、サブフローがより管理しやすく分かりやすくなります。また、ワークスペースに限定されなくなり、ポータルやモバイルアプリでも機能します。

 

Zurich リリースの最新情報

今後の Zurich リリースでは、フロー履歴と自動保存機能が導入され、以前のバージョンに戻したり、タイムスタンプやエディターの詳細を使用して変更を追跡したりできます。また、フロー変数のサポートを拡張して、オブジェクトと文字列の配列を含めます。

 

ワークフロー移行ガイダンス

従来のワークフローからフローへの移行は、コピーして貼り付ける作業ではありません。むしろ、プロセスを見直して最適化し、最新の統合と自動化パターンを活用する機会となります。

 

トップに戻る^

 

Q&A ナゲット

  1. デバッグに必要な ACL や特定のロールはありますか、それとも標準のフローロールで十分ですか?

回答: 標準フローロール。当初はflow_debuggerロールが導入されましたが、後にアクセスを簡素化するために削除されました。

  1. デバッグは Zurich リリースでのみ利用できますか?

回答: いいえ、Yokohama リリースで導入されました。

  1. 別のスコープからのフローをデバッグできますか、それともデバッグするためにフローのスコープ内にいる必要がありますか?

回答: フローが別のスコープ内にある場合でも、実行にアクセスできます。

  1. インシデントや RITM などのレコードを入力として指定する場合、現在のステータスのレコードまたは初期ステータスのどちらに基づいてフローが実行されますか?

回答: 現在のステータスに基づいて実行されます。デバッグはテストに似ています。

  1. フローを本番インスタンスでデバッグすべきですか、それとも開発インスタンスのみでデバッグすべきですか?本番環境でパフォーマンスに影響はありますか?

回答: ベストプラクティスは非本番インスタンスでデバッグすることですが、本番環境でも使用できます。

  1. 遅いフローのトラブルシューティング方法

回答:

  1. ステップレベルのランタイム分析
    1. 各ステップのランタイムをチェックして、遅いアクションを特定し、それに応じて最適化します。
  2. フローサイズと複雑さの制限
    1. 最高のパフォーマンスを得るには、フローアクションを 25 に制限します。推奨最大値は 50 です。(システムプロパティで制御)
    2. エラー処理セクション:最大 10 アイテム。
    3. ループ:1,000 を超えるアイテムの反復処理は避けます。
  3. ログ記録のオーバーヘッド
    1. 重要なフローに対してのみ完全なログ記録を有効にします。
    2. 日常的なフローのログ記録を最小化または無効にして、システム負荷を軽減します。
  4. 非同期実行
    1. 最適なスケジューリングと他のプロセスのブロックを避けるために、フローを非同期で実行します (デフォルト)。
  5. キュー管理と優先順位付け
    1. ビジネスクリティカルなフローに高い優先度を割り当てます。
    2. 大量のフローや実行速度の遅いフローの優先度を低く設定します。
  6. アーキテクチャに関する考慮事項
    1. 同時フローの数はイベントハンドラーによって異なります (デフォルト:ノードあたり 3 つ)。
    2. ノードの親和性により、トリガーされたノードでフローが確実に実行され、キューのレイテンシが短縮されます。
  7. 複雑なフローにプレイブックを使用する
    1. 非常に複雑なフローや時間のかかるフローの場合は、管理性と UI 統合を向上させるために、プレイブックを使用してオーケストレーションすることを検討してください。

トップに戻る^

  1. フローをプレイブックに置き換えることはできるか?

回答: 直接変換は存在しませんが、プレイブックでサブフローとアクションを再利用できます。

  1. 最初からスケジュール済みジョブとして設定したほうがよいのでしょうか?

回答: どちらのアプローチも問題ありません。スケジュール済みジョブは、バックエンドの自動化によってトリガーされます。

  1. スクリプト化されたコンテンツを検索できるようになるのはいつですか?

回答: 具体的なタイムラインはありません。調査中。

  1. フローをプレイブックに置き換える際に役立つガイドラインやビデオはありますか?

回答: はい。ワークフローオートメーション CoE を参照してください。 https://sn.works/CoE/StartPlaybooks

ServiceNow University で提供されているトレーニングもご覧ください。

https://sn.works/CoE/Training

  1. フローを別のインスタンスに移動するには?

回答: フローは、更新セット内の単一のファイルとして表されます。

  1. 名前でフローを検索する機能はいつ追加されますか?

回答: これは、Workflow Studio の列ヘッダーフィルターを介して既に利用可能です。

  1. クローンバックはフロー履歴に影響しますか?

回答: はい。クローンは他のレコードと同様にバージョン履歴を上書きします。

  1. 命名規則/バージョニングのベストプラクティスは?

回答: バージョンに固有の注釈を使用します。フロー名は同じままです。

トップに戻る^

  1. プレイブックは UI16 フォームで機能しますか、それともワークスペースに限定されますか?

回答: プレイブックエクスペリエンスは現在、Configurable Workspaces、サービスポータル、モバイルなどの Next Experience ページで使用できます。UI16 フォームはサポートされていません。

  1. 生成 AI はプレイブックを生成できますか?

回答: Now Assist for Creator に含まれているプレイブック生成スキルを使用してプレイブックを生成できます。 https://sn.works/PlaybookGeneration

  1. サービスポータルのプレイブックは何に使用されるか?

回答: エージェントとエンドユーザー間でやり取りが発生する可能性のあるプロセスを自動化します。

  1. イベントによってトリガーされるフローを特定の同時実行に制限できますか。

回答: 同時実行はイベントハンドラーの数によって制限されます。デフォルトではノードあたり 3 つであるため、容量はインスタンスのサイズとアーキテクチャによって決まります。

  1. UI ノードとワーカーノードがある環境では、フローはデフォルトでワーカーノードで実行されますか?

回答: フローはデフォルトでバックグラウンドプロセスを開始し、ノード親和性用に構成できます。

  1. Now Assist でワークフローを作成できますか?

回答: はい、Now Assist を使用してフロー、サブフロー、プレイブックを作成できます。従来のワークフローはサポートされていません。

  1. デバッグは潜在的なパフォーマンスの問題を示していますか?

回答: はい、遅いステップを強調表示できます。

  1. 入力レコードを使用してフローをデバッグするときに、レコードのステータスは変更されますか?

回答: デバッグはテストに似ていますが、フローに応じてレコードのステータスが変更される場合があります。デバッグが完了してもロールバックされません。

トップに戻る^

  1. サブフロー内のループと配列を処理するためのベストプラクティスはありますか?

回答: Zurich はフロー変数としての配列をサポートしていますが、現在は Array.Object に制限されています。将来のリリースでは、さらに多くの配列タイプが計画されています。

  1. フローエラーが発生した後、デバッグ中に続行するオプションはありますか?

回答: まだデバッグ用ではありませんが、調査中です。フローをビルドするときは、サブフローでエラーが発生する可能性のあるステップをカプセル化し、try ロジック、ループ、およびフローエラーハンドラーを使用します。

詳細については、このブログシリーズをご覧ください。 https://sn.works/CoE/ErrorHandling

  1. 並列タスクがスタックしたIFステートメントをデバッグする方法は?

回答: 並列分岐でブレークポイントを使用し、ステップスルーします。

  1. ワークフローをフローに変換するより簡単な方法はありますか?

回答: 解決策は模索中です。一方、既存のレガシーワークフローは、複雑さと実行頻度によって評価することをお勧めします。段階的な移行が最適な戦略です。変更要求で従来のワークフローでの作業が必要になった場合は、これを、現在の要件とテクノロジーに合わせて最新化するために、数年前のプロセスを再評価する機会と考えてください。フローとサブフローは、従来のワークフローから直接呼び出すことも、その逆も可能であるため、段階的で再利用可能な移行が可能です。

詳細なガイダンスについては、次の移行ガイドを参照してください。 https://sn.works/coe/migration/guide

 

  1. 役に立つ記事の中央リソースはありますか?

回答: はい、https://sn.works/CoE から始めてください。

トップに戻る^

 

免責事項
一部の日本語は、翻訳ソフトウェアを使用してお客様の便宜のために翻訳されています。正確な翻訳をご提供できるよう相当な努力を払っておりますが、いかなる自動翻訳も人間の翻訳者に代わることはなく、そのようなことは意図されておりません。翻訳は「現状のまま」提供されています。他言語への翻訳の的確性、信頼性または正確性については、明示または黙示を問わず、いかなる保証も行われません。翻訳ソフトには限界があるため、一部のコンテンツが正確に翻訳されていない場合があります。これらの資料の公用言語は英語です。翻訳の際に生じる相違または不一致は、コンプライアンスまたは履行の目的に関しては拘束力を有さず、法的効力はないものとします。