「job:starting」イベントで例外が発生した場合、ジョブの実行が中断される可能性がある


説明

パブリッシュ、検索インデックスの更新およびスケージュールされたタスク処理などのバックグラウンド ジョブが、例外で中断される場合があります。その結果、アプリケーションが再起動されるまで、同じ名前を持つジョブを開始することができなくなります。

該当する例外の例:

Exception: System.AggregateException
Message: One or more exceptions occurred while processing the subscribers to the 'job:starting' event.
Exception: HotChocolate.Subscriptions.InMemory.InvalidMessageTypeException
Message: Exception of type 'HotChocolate.Subscriptions.InMemory.InvalidMessageTypeException' was thrown.

解決策

この問題の影響は、GraphQLのサブスクリプション機能を無効にすることで軽減できます。これを実施するには、GraphQL.Subscription.Enabled設定をfalseに変更してください。その際は、設定パッチを以下の通り「\App_Config\Include\zzz」フォルダに作成してください:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<settings>
<setting name="GraphQL.Subscription.Enabled" value="false" />
</settings>
</sitecore>
</configuration>

註:GraphQLのサブスクリプション機能が無効化されると、下記のようなシステム イベントへのサブスクライブにGraphQL APIを使用できなくなります。

この機能は標準では使用されておらず、使用しない場合は安全に無効化することができます。