在 Field Service 中避免 Apex CPU 逾時的原則
Apex CPU 逾時是常見的限制,在「約會預訂」或「候選項目」動作期間有時會達到。當提供約會預訂的可用候選項目過多或排程時段過多時,便會發生此逾時。
必要版本
| 提供版本:Salesforce Classic (並非所有組織皆適用) 和 Lightning Experience |
| Agentforce Field Service and Operations 核心功能、受管理封裝和行動應用程式適用於 Enterprise、Unlimited 及 Developer Edition。 |
這是 Field Service 受管理封裝功能。
排程時段選項的可用性愈多,根據排程原則中的每個工作規則驗證每個選項所需的處理時間愈長,並依排程原則中的每個目標對每個選項進行評分。
當您使用 Apex API 呼叫「約會預訂」或「取得候選項目」動作時,API 呼叫之前和之後的自訂程式碼也會造成此 Apex CPU 逾時。我們建議嘗試最佳化此程式碼並避免過長的處理時間。
若要在「約會預訂」或「取得候選項目」動作期間防止 Apex CPU 逾時:
- 至少針對取得 Apex CPU 逾時例外的區域範圍啟用「增強型排程和最佳化」。「增強型排程和最佳化」會計算 Salesforce 組織以外服務中沒有 CPU 逾時限制的時段。
- 使用排程原則中的更多資料庫工作規則來篩選出盡可能多的候選項目。資料庫規則適用於 SOQL 查詢子句層級。這些規則會立即使資源不符資格,並僅查詢您需要的資源,因此效能不會受到影響。資料庫工作規則類型包括:
- 縮短「約會預訂」和「取得候選項目」作業的時程。您可以透過減少「到期日期」與「最早開始時間」之間的間隙來變更每個服務約會的時程,或者您可以在「一般邏輯」索引標籤的「排程」下方的「Field Service 設定」中針對所有使用者變更時程。選取取得候選項目或預訂約會的天數上限。
- 針對「約會預訂」,請在營業時間中減少用於約會預訂的時段數目。
- 透過在服務約會上選取「使用非同步邏輯」,以在您未使用「增強型排程和最佳化」時啟用問題服務約會的非同步邏輯。使用非同步邏輯可確保在未來工作中執行具有更多 CPU 時間的「約會預訂」計算,但不保證 ⁇ 取時段的持續時間。當平台決定執行此動作時,將會執行未來工作,讓這些工作在 ⁇ 列中持續一些時間。時段不會在相同的交易中傳回。工作會建立 FSL 作業物件,其可協助在您針對「約會預訂」或「取得候選項目」使用 OOTB FSL 動作時取得結果。如果您針對這些動作使用自訂程式碼,則可能需要一些開發,才能在使用非同步邏輯時取得時段。
- 在「Field Service 設定」中啟用「限制 Apex 作業」,當您未使用「增強型排程和最佳化」時可供使用。限制 Apex 作業會限制特定排程作業的處理時間,並在達到指定逾時限制的百分比時終止程序。結果包含在所指定時間範圍內已完成處理的結果。OOTB UI 和 API 會清楚指出結果的部分處理,包括已完成的服務資源數目以及涉及的資源總計數。
此文章是否解決您的問題?
請讓我們知道,以便我們改進!
