Mark Hammer's Blog

SalesforceやTrailheadに関する情報を投稿しているブログです。

Salesforce Optimizerの「毎月実行」はいつ実行されるか確認してみた

はじめに

Summer' 20 からアプリケーションでのアクセスも可能になり、便利になったSalesforce Optimizer。

リリースノート:Optimizer アプリケーションによる組織メンテナンスのスピードアップ より

新たに登場した Salesforce Optimizer アプリケーションにより、対話的に組織の実装を確認して、エキスパートの推奨に基づいて Salesforce 組織をメンテナンスできます。パッケージをインストールする必要はなく、アプリケーションを有効にして、クリック操作で実行するだけで、組織が自動的に調べられます。

Salesforce Optimizer アプリケーションではどのようなことができるかは、以下が非常に参考になります。 note.com

dev.classmethod.jp

さて、Salesforce Optimizer の設定画面では毎月実行できるオプションがありますが、ヘルプテキストには「(毎月実行を)設定すると、Optimizerは毎月最後の週に実行されます」と表示されます。

Salesforce Optimizer 設定画面

一番最初に毎月実行を設定したのは11/22週だったのですが、「最終週だから11/29か11/30に実行されるのかなぁ…。」と思っていたら…、
11月には実行されませんでした。

理由が分からなかったため、自分の持つ環境にOptimizer毎月実行を設定し、しばらく放置してみました。*1

「毎月実行」のスケジュール結果

本番環境、Sandbox環境それぞれの結果は以下でした。

環境 2020/12の実行日 2021/1の実行日
本番環境 2020/12/20(日) 0:02 2021/1/20(水) 0:03
Sandbox環境 2020/12/22(火) 1:03 2021/1/22(金) 1:07

結果からの考察

  • 実行日はおそらく毎月20日以降。具体的な日付は組織単位(またはインスタンス単位)で決まっている。
    • その月の実行日を超えた後に「毎月実行」を設定してもその月は実行されない。「はじめに」節で11/22週に設定しても11月には実行されなかったのはそのためだと思われる。
  • 実行開始時間はおそらくAM0時。(Optimizerの最終実行日として記録されるのは開始時間ではなく終了時間。)
    • SandboxのOptimizer完了時間が1時となっているが、これはカスタマイズ量が多いSandboxを使用したためと思われる。

おわりに

考察通り「毎月実行」の実行日は毎月20日以降とすると、「Optimizerは毎月最後の週に実行されます」は正しくないことになりますが、そういうものと認識するほかなさそうです。
20日以降に「毎月実行」を設定したが、設定月の情報も欲しい、という方は手動実行でも情報取得できますので、そちらをお勧めいたします。

*1:ちなみにSalesforceサポートからは「実行スケジュールについては公開情報がないので自分で確認してください」といった回答でした。