Background jobs
Some of the help desk’s work doesn’t happen in answer to a click: closing tickets nobody replied to, marking tickets overdue, sending feedback emails, checking SLA deadlines, collecting email. These background jobs can run in two ways:
- On page loads (the default): a visitor’s page request does the work, at most every 30 minutes.
- As Joomla scheduled tasks (Pro): Joomla’s Scheduled Tasks runs them on a timetable you choose. This is the better choice for a busy desk.
What the jobs do
Section titled “What the jobs do”The ticket maintenance run does all of this, in order:
| Job | What happens |
|---|---|
| Auto-close | Closes answered tickets whose last reply is older than Auto-Close Tickets on General Settings. Off when that is 0. |
| Overdue by due date | Marks a ticket overdue when its due date has passed, it is not closed and it has not been answered. |
| Overdue by priority | Each active priority has an overdue interval (set under Flow → Priorities). A new ticket nobody has replied to, or an unanswered ticket whose last reply is older than its priority’s interval, is marked overdue. |
| Feedback emails | Sends the feedback email for tickets closed longer ago than the feedback delay. |
| SLA check | Re-checks open tickets against their SLA targets, marks breaches, escalates and notifies. Up to 200 tickets per run. |
| Reminders | Sends reminders that have come due and brings snoozed tickets back. |
| Time-based automation | Runs automation rules about elapsed time, such as “unanswered for two days”. |
| Webhooks | Delivers queued webhook calls. |
| Mail queue | Sends email waiting in the queue and retries messages that failed, up to 50 per run. |
Email collection reads every active mailbox under Tickets → Email Tickets and turns new messages into tickets and replies.
If one ticket causes an error, it is written to System Errors and the run carries on with the next one.
On page loads
Section titled “On page loads”With Run Background Tasks On Page Load set to Yes under General Settings, the first request to any JS Support Ticket page (on the front end or in the administrator) after the due time runs ticket maintenance and then email collection. The next run is due 30 minutes later.
Only one request runs the jobs at a time: it holds a lock for up to 15 minutes, and any other request that arrives meanwhile skips the work. The visitor whose request runs the jobs waits for them, which can be noticeable when a mailbox is slow to answer.
Without visitors, nothing runs. On a quiet site, tickets may close and email may arrive later than you expect.
As scheduled tasks
Section titled “As scheduled tasks”The Task - JS Support Ticket plugin, installed and enabled with the component, adds four task types to Joomla’s System → Scheduled Tasks:
| Task type | Runs |
|---|---|
| JS Support Ticket: ticket maintenance | Everything in the table above, from auto-close to the mail queue. Email collection is not included. |
| JS Support Ticket: collect email | Email collection. |
| JS Support Ticket: send queued email | The mail queue only, up to 100 messages per run. |
| JS Support Ticket: check SLA targets | The SLA check only, up to 200 tickets per run. |
Ticket maintenance already includes the SLA check and the mail queue. The two smaller tasks are there if you want those to run more often than the rest.
Setting them up
Section titled “Setting them up”- In Joomla’s administrator, go to System → Scheduled Tasks and click New.
- Choose JS Support Ticket: ticket maintenance.
- Give the task a title, set its Execution Rule (for example every 15 minutes), make sure it is enabled, and click Save & Close.
- If you collect email, do the same for JS Support Ticket: collect email.
- Make sure Joomla actually runs scheduled tasks: by its lazy scheduler (on site visits) or by a server cron job or web cron. This is set in the Options of Scheduled Tasks; see Joomla’s documentation.
- Back in System → Settings → General Settings, set Run Background Tasks On Page Load to No and click Save Settings.
Each run is logged by Joomla with a line such as “JS Support Ticket: ticket maintenance finished.” or the SLA and mail queue counts. If a run fails, the task is marked as failed with the error.
A scheduled run also finishes a JS Support Ticket database update that stopped part way, if there is one.

The reminder notice
Section titled “The reminder notice”Until an enabled ticket maintenance task exists, the SLA Rules, Notifications and Integrations screens show a notice. With page loads on, it reads “Background jobs only run when someone opens a page.” With page loads off, it reads “Background jobs are not running.” Create the task opens Joomla’s task types so you can add it.