Skip to main content

Introduction

Why use scheduled indexing:
  • Automated data freshness: Keep indexes up-to-date automatically as source data evolves.
  • Reduced manual overhead: Eliminate the need for manual reindexing operations.
  • Consistent synchronization: Maintain predictable sync schedules across multiple indexes.
  • Resource optimization: Schedule updates during off-peak hours to minimize system impact.
  • User-specific schedules: Each user can configure independent schedules for the same index.

Prerequisites

Before configuring scheduled indexing, ensure the following requirements are met:

Successful Index Creation

An index must already exist before scheduling can be configured.

Appropriate Permissions

You must have permission to modify toolkit and index scheduling settings.

Valid Index State

Scheduling is available only when the index is in a usable state. Indexes in cancelled or failed state must be reindexed successfully before a schedule can be turned on.

Personal Access Token

At least one valid, non-expired ELITEA personal access token is required for scheduled indexing operations. The token must still be valid at the time of scheduled execution. If all your tokens are expired, scheduled reindexing operations will fail. To manage your tokens, go to User Settings > Personal Access Tokens.

Credentials Configuration

If the toolkit requires credentials, you must select or create a valid credential configuration before turning on the schedule. Only credentials matching the project type are available: private project credentials for private projects, and team project credentials for team projects.

Configure Scheduled Indexing

Access Index Actions

  1. Open the Indexes section: Expand the INDEXES section in the toolkit configuration page.
  2. Select an existing index to open its dedicated index page. Indexes section in the toolkit configuration page.

Configure Cron Expression

  1. Open Schedule Settings:
    • If no schedule exists yet, select + Schedule.
    • If a schedule already exists, select the edit icon on the schedule card.
    Schedule Settings panel with the edit icon highlighted.
  2. Choose Schedule Type:
    • Builder: Visual cron builder with interactive controls.
    • Cron Expression: Manual text input for a cron expression.
Default ScheduleWhen first configured, the schedule defaults to 0 0 * * 6 (Every Saturday at midnight).
Builder mode:
  • Use the visual builder to configure the schedule.
  • The cron expression is generated automatically as you make selections.
  • The preview updates in real time. Schedule Settings modal open in Builder mode.
Cron Expression mode:
  • Enter a cron expression directly in the text field (for example, 0 2 * * *).
  • Format guide shown below: minute – hour – day (month) – month – day (week).
  • Select the info icon to open crontab.guru for help.
  • The preview and validation update as you type. Schedule Settings modal open in Cron Expression mode.
  1. Configure Credentials (if required):
    • Some toolkits require credentials for scheduled indexing.
    • If required, a credentials dropdown appears below the cron configuration.
    • Select an existing credential configuration or create a new one.
    • Available credentials are filtered by project type:
      • If you are in a Private Project, only private project credentials are shown.
      • If you are in a Team Project, only team project credentials are shown.
    Credentials dropdown in the Schedule Settings modal.
  2. Save Changes: Select Save to store the cron expression and credentials.
Review HistoryScheduled reindexing operations appear in the History page with the label “Reindexed.”History page showing a scheduled reindexing entry labelled Reindexed.

Schedule Card

The Schedule section on the index page shows the current schedule state for the selected index. When a schedule exists, the schedule card displays the following information and actions. Information about the schedule:
  • The human-readable schedule summary.
  • The next scheduled run date.
  • The selected credentials, when credentials are required.
Actions available for the schedule:
  • Edit the schedule configuration.
  • Delete the schedule.
  • Turn the schedule on or off.
Schedule card on the index page showing schedule summary, next run date, and available actions.

Schedule Notifications

You receive notifications for all indexing operations (initial indexing, manual reindexing, and scheduled reindexing). Successful operations:
  • Icon: Green success checkmark.
  • Message format:
    • Initial indexing: Index {name} is successfully created: { "indexed": X }.
    • Reindex (manual): Index {name} is successfully reindexed. { "reindexed": X, "indexed": Y }.
    • Reindex (scheduled): Index {name} is successfully reindexed by schedule. { "reindexed": X, "indexed": Y }.
  • Action: Select the notification to go to the index page in the Indexes section.
Failed operations:
  • Icon: Red error icon.
  • Message: Index {name} is failed.
  • Note: This applies to both initial indexing failures and reindexing failures.
  • Action: Select the notification to view the index and check error details in the History page.
Notification details:
  • Notifications appear in the notifications panel (bell icon in top navigation).
  • Each notification shows the relative time (for example, “2 minutes ago,” “1 hour ago”).
  • Selecting a notification goes directly to the specific index page in the Indexes section.
  • Scheduled operations are clearly marked with “by schedule” text.
Notifications panel showing a successful scheduled reindexing notification.

Cron Expressions

Scheduled indexing uses cron expressions to define when automatic reindexing occurs. A cron expression consists of five space-separated fields:
Cron field definitions Special characters:
  • * (asterisk): Matches any value (for example, * in the hour field means “every hour”).
  • , (comma): Lists multiple values (for example, 1,15 in the day field means “1st and 15th”).
  • - (hyphen): Defines a range (for example, 9-17 in the hour field means “9 AM to 5 PM”).
  • / (slash): Specifies step values (for example, */2 in the hour field means “every two hours”).
Frequency limitations Scheduled reindexing cannot run more frequently than once per day. Use daily or less frequent schedules to avoid unnecessary resource usage: Minimum frequency setting showing once per day at midnight. Minimum supported frequency: 0 0 * * * (once per day at midnight) or less frequent.

Common Schedule Patterns

The following table lists verified schedule patterns for typical reindexing scenarios:
Use crontab.guru to validate and understand cron expressions. The system also provides real-time validation and human-readable descriptions when you configure schedules. You can also select the info icon in the Schedule Settings modal to quickly access crontab.guru.Crontab Guru website showing a cron expression validator.

Manage Schedules

Edit schedules To modify an existing schedule:
  1. Open Schedule Settings: Select the edit icon on the schedule card.
  2. Update Cron Expression: Enter the new expression in the modal.
  3. Validate & Save: Ensure the expression is valid, then select Save.
  4. No notification is shown for cron expression updates (only for enable/disable).
Pause schedules To temporarily pause scheduled reindexing without removing the schedule configuration:
  1. Turn off the Schedule toggle on the schedule card.
  2. The saved cron expression and selected credentials remain attached to the schedule.
  3. When the schedule is turned off, the page shows a banner with the message “Schedule is turned off.”
  4. To resume scheduled reindexing, turn the toggle back on.
Schedule card with the Schedule toggle turned off and the Schedule is turned off banner visible.

Real-Life Example: Daily GitHub Repository Indexing

This example demonstrates how to set up automated daily reindexing for a GitHub repository index to keep code and documentation searches current.ScenarioGoal: Keep a GitHub repository index updated daily at 2:00 AM to reflect new commits, pull requests, and documentation changes.Index details:
  • Toolkit: GitHub toolkit for ProjectAlita/projectalita.github.io repository.
  • Index name: docs.
  • State: Successfully created and completed.
  • Desired schedule: Daily at 2:00 AM (during off-peak hours).
Step-by-step configuration1. Access the index:
  • Go to Toolkits > select the GitHub (ProjectAlita/projectalita.github.io) toolkit.
  • Open the Indexes section.
  • Select the docs index from the sidebar.
2. Turn on scheduling:
  • Find the Schedule section on the index page.
  • Select the toggle switch to turn on scheduling.
  • Confirm the success notification that the schedule was turned on.
3. Configure daily 2 AM schedule:
  1. Select the edit icon on the schedule card.
  2. The Schedule Settings modal opens showing the schedule.
  3. Choose a configuration method: Option A: Builder mode:
    • Select Builder schedule type (if not already selected).
    • Use the builder controls to configure the schedule for daily execution at 2:00 AM.
    • The cron expression 0 2 * * * is generated automatically.
    • Verify the preview shows the expected schedule summary.
    Option B: Cron Expression mode:
    • Select Cron Expression schedule type.
    • Clear the input and enter: 0 2 * * *.
    • Verify the preview updates to the expected schedule summary.
  4. Select Save to store the schedule.
4. Verify configuration:
  1. Toggle state: Confirmed on.
  2. Cron expression: 0 2 * * * (verified by reopening the schedule modal).
  3. Schedule active: Automatic reindexing occurs daily at 2:00 AM.
Expected behaviorDaily at 2:00 AM:
  1. The system automatically triggers a reindexing operation for the docs index.
  2. The index state changes to in_progress during the operation.
  3. Progress is tracked and visible in the index interface.
  4. Upon completion, the index state returns to completed.
  5. A new entry appears in the History tab with label “Reindexed” and the timestamp.
  6. A notification is sent:
    • Success: Index docs is successfully reindexed by schedule. { "reindexed": X, "indexed": Y }.
    • Failure: Index docs is failed.
History page entry:
Notification received:
Result:Your team can ask questions about the codebase and documentation using the most recent repository content, with automatic updates every day without manual intervention.

Troubleshooting

Symptom: The Schedule toggle switch is grayed out and cannot be selected.Causes and solutions:
Common validation errors and how to fix them:
Symptom: The schedule is turned on, but reindexing is not occurring at the configured time.Troubleshooting steps:
  1. Verify cron expression:
    • Open Schedule Settings and check the cron expression.
    • Use crontab.guru to verify the expression matches your intent.
    • Ensure the expression is not in the past (for example, a specific date or time that has passed).
  2. Check index state:
    • Ensure the index state is completed, not failed or cancelled.
    • If the state is invalid, manually reindex and then turn on the schedule again.
  3. Confirm toggle is turned on:
    • Verify the Schedule toggle is on (blue).
    • If it is off, turn it on again.
  4. Review system logs (if accessible):
    • Check for backend errors during scheduled execution.
    • Look for quota limitations or resource constraints.
  5. Time zone considerations:
    • Cron expressions execute in the server time zone.
    • Verify the server time zone matches your expectations.
Symptom: When updating the cron expression, no success notification appears.Expected behavior: This is expected. Success notifications only appear when turning on or turning off the schedule toggle, not when modifying the cron expression or credentials.To verify configuration:
  • Reopen the Schedule Settings modal.
  • Confirm the cron expression shows your updated value.
  • Confirm credentials are selected (if required).
Symptom: The Schedule toggle is turned off with the tooltip “Set credentials to turn on scheduling.”Cause: The toolkit requires credentials for scheduled indexing operations.Solution:
  1. Select the edit icon on the schedule card.
  2. In the Schedule Settings modal, scroll down to the credentials selector.
  3. Select an existing credential configuration from the dropdown (only credentials matching your project type are shown), or
  4. Select + Create new to create a credential configuration.
  5. Select Save to store the changes.
  6. The Schedule toggle is now turned on.
Note: The credentials dropdown only shows credentials that match your project type:
  • Private project: Only private project credentials are available.
  • Team project: Only team project credentials are available.
Symptom: The Save button in the Schedule Settings modal is grayed out.Causes and solutions:
Symptom: Scheduled reindexing operations fail and you receive error notifications.Cause: No valid ELITEA personal access token is available, or all tokens have expired.Solution:
  1. Go to User Settings > Personal Access Tokens.
  2. Check if you have any active (non-expired) tokens.
  3. If all tokens are expired or no tokens exist:
    • Select Generate New Token.
    • Provide a token name and expiration date.
    • Save the token.
  4. Return to the Indexes section and verify the schedule is still turned on.
  5. Wait for the next scheduled execution or manually trigger a reindex to test.
Prevention: Review your personal access tokens regularly and generate new ones before existing tokens expire to avoid disruption to scheduled operations.

Limitations


Best Practices

  1. Data change frequency: Match the schedule to how often your source data changes.
    • Rapidly changing data (for example, active repositories): Daily.
    • Moderately changing data (for example, documentation wikis): Weekly.
    • Slowly changing data (for example, archived content): Monthly.
  2. Off-peak hours: Schedule during low-usage periods.
    • Early morning (for example, 2:00 AM to 5:00 AM).
    • Weekends (for example, Saturday or Sunday midnight).
    • Avoid business hours to prevent performance impact on users.
  3. Resource considerations:
    • Larger indexes take longer to reindex.
    • Consider system load and concurrent operations.
    • Stagger schedules for multiple indexes to avoid simultaneous heavy operations.
  4. User needs vs. system load:
    • Balance data freshness requirements with system resources.
    • Do not schedule more frequently than necessary.
When managing schedules across multiple indexes:
  1. Stagger execution times: Avoid scheduling multiple indexes at the same time.
    • Index A: 0 2 * * * (daily at 2:00 AM).
    • Index B: 0 4 * * * (daily at 4:00 AM).
    • Index C: 0 6 * * * (daily at 6:00 AM).
  2. Group by priority:
    • Critical indexes: More frequent schedules.
    • Reference indexes: Less frequent schedules.
  3. Document your schedules: Maintain a reference document listing all configured schedules for coordination.
  1. Regular review: Check the History tab periodically to verify schedules are executing successfully.
  2. Update schedules as needed: Adjust cron expressions when data change patterns evolve.
  3. Remove unused schedules: Turn off schedules for indexes that are no longer actively used.
  4. Test before production: Validate schedule configuration with a test index before applying to production indexes.

Guides & References