Contents
Overview
In Kayako Insights > Custom Reports, a report can remain in Pending / Generating for an unusually long time (hours or even days). This often happens when the report attempts to process an extremely large dataset (for example, multiple years of conversations or a filter configuration that unintentionally selects most of the instance).
When the report is stuck in the backend processing state (for example, the report record remains STARTED), browser actions like refreshing the page or logging out and back in will not resolve it.
Solution
1) Recognize the symptoms
- A custom report stays in Pending/Generating for a long time.
- Refreshing the page or logging out/in does not change anything.
- The report scope is very large (for example, “all conversations since 2016”).
- Filters are broad or misconfigured—especially conditions combined with OR when the intent is to narrow results.
2) Understand the common root cause
When a custom report matches a very large result set (hundreds of thousands of conversations), the report worker can exceed memory limits. In observed cases, the worker then repeatedly retries the job until it reaches its maximum retry limit (for example, 20 retries). The job can become “buried” without clearing or updating the report record status, leaving the report stuck as STARTED in the backend—and therefore stuck as Generating/Pending in the UI indefinitely.
3) Check whether the report is oversized or mis-scoped
Open the report configuration and review:
- Date range: Multi-year ranges can be too large for a single run.
- Filter logic: OR often expands scope dramatically because it returns a union of conditions.
- Team/status/updated-at filters: Ensure they narrow results as intended.
If your intent is “conversations assigned to a particular team within a date range,” combine conditions with AND (not OR). Configuration steps are covered here: Generating Custom Reports in Kayako.
4) Clear/reset the stuck backend job (requires assistance)
If a report is stuck indefinitely, the UI may not provide a reliable way to cancel or rerun it while the backend status is STARTED. In that situation:
- Raise a Support Ticket with kayako Support to request a backend clear/reset of the stuck custom report job(s) and stale statuses.
- Avoid launching additional duplicate reports while the report workers/queue are being reviewed, as this can increase load and prolong recovery.
5) Re-run the report with a safer scope
After the stuck job(s) are cleared:
- Re-run the report with a smaller dataset.
- As a practical guideline, aim for approximately 50,000 conversations or fewer per report run when possible.
- Split long time ranges into multiple reports (by year, quarter, or month) and merge CSVs offline if needed.
Prevention and Best Practices
- Keep scopes bounded: Large single-run exports (hundreds of thousands of conversations) are more likely to hit worker limits and become stuck.
- Use AND to narrow: If you mean “team X within date range Y,” use AND. Use OR only when you truly want a union (which can unintentionally select most or all conversations).
- Split multi-year exports: For “all conversations since 2016,” generate multiple reports for separate date windows (e.g., 2016–2017, 2018–2019, etc.).
- Clean up unneeded outputs: Completed reports you no longer need can be deleted from Insights > Custom Reports.
Example of how OR can explode report scope
In one observed case, a “Weekly Reports” configuration combined team and date conditions using OR and matched approximately 575,000 conversations (effectively the entire instance). The equivalent AND logic would have matched about 1,240 conversations.
Verification
In Insights > Custom Reports:
- Confirm previously stuck reports transition to Completed and produce output (CSV).
- Confirm new report runs complete within a reasonable time window for their scope.
- Spot-check row counts to ensure filter logic (AND vs OR) matches your intent.
Frequently Asked Questions
- 1. How do I know I’m hitting this specific problem?
- Reports in Insights > Custom Reports remain in Pending/Generating for an unusually long time (for example, days), and refresh/logout-login has no effect. This commonly coincides with very large report scopes (multi-year data) or filter logic that selects most conversations.
-
- 2. Why does refreshing the page or re-logging not fix it?
- Because the report can be stuck in the backend worker/queue state (for example, the report record remains
STARTED). The UI is only reflecting that backend state. -
- 3. What’s the fastest way to get reporting working again?
- Have the stuck report job/status cleared or reset on the backend, then re-run the report with a smaller scope.
-
- 4. How can I prevent this from happening again?
- Keep report scopes smaller (aim for ~50,000 conversations or fewer per report), split long date ranges into multiple reports, and confirm your filters use AND when the intent is to narrow results (avoid OR unless you truly want a union that may expand scope dramatically).
-
- 5. What if I need “all conversations since 2016” in one export?
- Create multiple reports covering smaller date ranges (e.g., 2016–2017, 2018–2019, etc.) and merge the CSV outputs offline. Large single-run exports are more likely to exceed worker limits and become stuck in a generating state.
Go to Kayako Classic
ATLAS KBA
Comments