In this page

Refresh content statuses job

What does it do?

This job refreshes the status of all contents in your Confluence.

Knowing the most current status of the contents is key for efficient content lifecycle management, but to have near real-time status values, this job should run continuously. The problem is that because the job uses a lot of resources (network traffic, Confluence REST API calls, etc.), running this frequently would overload the infrastructure and would be costly.

The app implements the following status-refresh strategy as a practical trade-off:

  1. The scheduler runs this job periodically to refresh the status of all contents.
  2. Plus, users trigger refreshing the status of a single content by opening its content status indicator.
  3. (Plus, a new event handler which refreshes the content status when "certain things happen" is coming soon!)

Overall, the "mass refreshes" by the job and the "micro refreshes" by the users maintain the content statuses with low latency.

How it works

Conceptually:

  1. The job processes all spaces except the excluded ones (site scope) or only one specific space (space scope).
    1. It takes the content status scheme used by the space.
    2. It processes all contents in the space and sets its new status:
      1. It tests the CQL queries of the statuses in the scheme from top to bottom:
        1. If the status' direct CQL matches the content, then this status will be set. (direct status)
        2. Or if the status' ancestor CQL matches the ancestors of the content, then this status will be set. (inherited status)
      2. If there is no match, the default status will be set.

After the job has completed, all contents in the scope will have their status refreshed!

Scheduled runs

This job runs every 6 hours.

The precise start time does not occur at the top of the hour. Rather, the job starts at a randomly generated minute (between the 10th to the 35th) of the hour, which is fixed for a given cloud instance. It aims to better distribute the overall load on Confluence Cloud APIs.

Manual runs

Beware: Running this job can be very time-consuming for large spaces!

You should run this job manually only if:

  • If the content status overview displays a warning telling that your content statuses are invalid. It can happen if:
    • If you modify a content status scheme, it will invalidate the statuses in all spaces that use this scheme.
    • If you modify a content status, it will invalidate the statuses in all spaces that use a scheme which includes this status.
  • If you included a previously excluded space, for which the job has not yet run recently.
  • If you need the current statuses immediately (e.g. because you are compiling a content status report and want to work with the most accurate data).
  • If the Midori support team asks for that.

Note that if you don't run the job despite the warning, that's no problem at all. It will catch up at the next scheduled execution.

Supported metrics

  1. Spaces processed
  2. Spaces total
  3. Content statuses refreshed

Questions?

Ask us any time.