Skip to content

Sync schedules ​

A sync is one pass in which Workstate reads a source and brings its part of the index up to date. Each sync indexes only what is new or changed, and removes what is gone.

GitHub, Confluence and Jira sources sync on a schedule, and whenever someone asks. Upload sources sync when someone uploads or deletes files.

The default schedule ​

A new GitHub, Confluence or Jira source starts its first sync as soon as you add it. After that, it syncs once a day.

The Sources page shows, for each source, when it last synced successfully, when it syncs next, and how often, for example "synced 3h ago · next in 21h · every 1d".

Change how often a source syncs ​

Only owners and admins can change the schedule.

  1. Open the source's page.
  2. In the line under the source's name, find syncs and choose an interval: every 5 minutes, every 15 minutes, every hour, every 6 hours, every day or every week.

The change applies at once. The shortest interval is 5 minutes. For anything sooner, use Sync now.

Upload sources have no schedule to choose, because their content changes only when someone uploads or deletes files.

Sync now ​

Anyone who can reach the namespace can select Sync now, on the Sources page or on a source's page.

  • A sync you ask for goes ahead of scheduled syncs that are waiting.
  • While a sync is queued or running, Sync now is unavailable. If a sync is requested while another is already on its way, for example by an upload or by an agent, Workstate does not run two at once. It runs one more sync after the current one, so no change is missed.
  • Sync now also works on a paused source. It runs one sync, and the source stays paused.

From an agent ​

An agent can call reindex_corpus to queue a sync of every GitHub, Confluence and Jira source in its namespace. It skips upload sources, paused sources, and sources that are being stopped or deleted, and it reports what it queued or skipped. Syncs usually finish within a few minutes, and unchanged files are skipped. See MCP tools.

This is useful right after you push changes that you want searchable now.

Stop a sync ​

Only owners and admins can stop a sync.

  1. On the Sources page or the source's page, select the stop icon (Cancel this sync).
  2. Read the warning, then select Stop sync, or Keep syncing to change your mind.

The sync ends within seconds, and the status reads Stopping until it does. What it indexed so far stays searchable, and the source is then Paused until you resume it. A sync that was still queued is dropped before it starts, and the source is paused.

Stopping a first sync removes the source

If a GitHub, Confluence or Jira source has never finished a sync, stopping its first sync removes the source and everything it indexed so far. The console warns you first, with "Stop its first sync?". To start over, add the source again.

Pause and resume ​

Only owners and admins can pause or resume a source.

  • To stop scheduled syncs, select the pause icon (Pause). The status reads Paused. What the source indexed stays searchable.
  • To start them again, select the play icon (Resume).

Delete a source ​

Only owners and admins can delete a source.

  1. Open the source's page, and select the trash icon (Delete this source).
  2. Select Delete source to confirm.

The status reads Deleting while Workstate removes the source's files, everything indexed from them, and its sync history. You cannot undo a deletion.

Sync statuses ​

StatusMeaning
Up to dateThe last sync finished.
QueuedA sync is waiting for its turn, or waiting to retry after a failure.
SyncingA sync is running now.
StoppingSomeone stopped the running sync. It ends within seconds.
FailedThe last sync failed. The source's page shows the error, and content from earlier syncs stays searchable.
PausedThe source does not sync on its schedule until someone resumes it.
DeletingThe source and everything indexed from it are being removed.

When a sync fails, Workstate retries it by itself, with a longer pause each time. If it still fails, the status reads Failed. The next scheduled sync tries again, or you can select Sync now once you have fixed the cause.

Sync progress and history ​

While a sync runs, the source's page shows Sync progress: each repository, or the source as a whole, with its state and counts of files, new or changed files, indexed files and vectors. The states are Waiting, Reading, Read, Indexing, Done, Skipped and Failed.

Sync history lists the source's last 20 syncs. Each shows when it started, how long it took, what it read, and any errors or notes. A sync ends as one of these:

ResultMeaning
SucceededThe sync finished.
FailedThe sync failed. Its error is shown.
CancelledSomeone stopped the sync.
RunningThe sync is still running.
InterruptedThe sync lost its worker part-way, and Workstate ran it again.

Who can do what ​

ActionOwnerAdminMember
Sync nowYesYesYes
Call reindex_corpus from an agentYesYesYes
Change the scheduleYesYesNo
Stop a syncYesYesNo
Pause and resumeYesYesNo
Delete a sourceYesYesNo

When changes appear ​

Changes in a source appear in search after the next sync. Syncing as soon as you push to GitHub, or as soon as a page or issue changes, is not built yet Coming soon.

Workstate is built by Nerdstorm Pty Ltd, Sydney.