Trove Help Trove home

Tasks

Manage automated system tasks for library maintenance, metadata refreshing, and cleanup. Execute tasks manually, monitor progress in real-time, and configure scheduled automation using cron expressions.

Navigate to Settings > Tasks to access this page. Requires the Access Task Manager permission.

System Task Manager

System Tasks

Each task can be run by hand or on a schedule.

Refresh Metadata

Re-reads book information (title, author, cover, etc.) from your files and updates the Trove database.

This task has a Metadata Replace Mode option:

ModeDescription
Update Missing Metadata Only (Recommended)Only fills in missing metadata fields. Existing metadata is preserved. Safe for routine use.
Replace All MetadataOverwrites all metadata for every book with data from the files, even if metadata already exists. Use with caution.

When to use:

Sync Library Files

Scans your library folders to detect new books and removes entries for files that no longer exist.

When to use:

Bookdrop Periodic Scanning

Scans the Bookdrop ingest folder for newly added files and queues them for Bookdrop processing.

When to use:

Update Book Recommendations

Analyzes your library to generate personalized book recommendations based on the books you own. Computes similarity scores between all books using text embeddings and stores the top recommendations for each book.

When to use:

Cleanup Deleted Books

Permanently removes database entries for books you previously deleted from your libraries. Deleted books are soft-deleted first and this task handles the final cleanup.

A badge shows how many books are pending cleanup (e.g., "Books pending cleanup: 5").

TriggerBehavior
Manual runDeletes all soft-deleted books immediately
Scheduled runDeletes only soft-deleted books older than 7 days

When to use: Run periodically to keep the database clean, or manually after a large batch deletion.

Cleanup Temporary Metadata

Removes temporary metadata records created during the Bookdrop and manual metadata review processes. These are intermediate records that are no longer needed after processing completes.

A badge shows how many records are pending cleanup (e.g., "Metadata rows pending cleanup: 12").

TriggerBehavior
Manual runDeletes all temporary metadata records immediately
Scheduled runDeletes only records older than 3 days

When to use: Run periodically to prevent temporary data from accumulating, or manually after heavy Bookdrop or metadata editing sessions.

Check Book File Integrity

Reads every book file and reports those that are damaged: for EPUB and comic archives it checks every entry against its checksum, and for PDFs, M4B/M4A and MP3 files it checks the file's structure, not just its first bytes. Damaged books are listed in the task's result and the server log so you can re-import them from a good copy.

When to use:

Fill Missing Page Counts

Gives books with no page count one worked out from their files, for when neither the file nor any metadata source had one. The task card shows how many books are still missing a count. Audiobooks have no pages and are left out.

BookPage count
PDFIts pages (exact)
Comic (CBZ, CBR, CB7)Its page images (exact)
EPUB with print page numbersThe last printed page number. Many publishers' EPUBs carry the print edition's page numbers.
Fixed-layout EPUB (picture books, comics)Its pages (exact)
Any other EPUB, or FB2Estimated from the word count
MOBI or AZW3 onlyNot counted

For the estimate, the task first measures how many words fit on a page in your library: it takes up to 300 of your books that already have a page count and an EPUB or FB2, divides their words by their pages, and uses the median, so an odd edition doesn't skew it. With fewer than 20 such books it uses 300 words a page. The result message says which figure it used and how many books got each kind of count.

Estimated counts show with a ~ on the book's page. They're never used for measuring, and a real page count from a metadata refresh or your own edit replaces them. Books that already have a page count, or whose page count is locked, are left alone.

When to use: after importing books or refreshing metadata, when the Page Count filter or reading statistics have gaps. It can also run on a schedule to catch new books.

Running Tasks

Click the Run button on any task to execute it immediately. While a task is running:

Some tasks (Refresh Metadata and Update Book Recommendations) run asynchronously in the background. Others run synchronously but still show progress. Only one instance of each task can run at a time.

Scheduling Tasks

Every task supports cron-based scheduling. Each task card shows its schedule on the right side:

Click the edit button to enter a new cron expression. Trove uses Spring cron format with 6 fields:

┌───────────── second (0-59)
│ ┌───────────── minute (0-59)
│ │ ┌───────────── hour (0-23)
│ │ │ ┌───────────── day of month (1-31)
│ │ │ │ ┌───────────── month (1-12)
│ │ │ │ │ ┌───────────── day of week (0-7, 0 and 7 = Sunday)
│ │ │ │ │ │
* * * * * *

Common Schedule Examples

ExpressionRuns
0 0 2 * * *Every day at 2:00 AM
0 0 */6 * * *Every 6 hours
0 30 1 * * 1Every Monday at 1:30 AM
0 0 3 1 * *First day of each month at 3:00 AM
0 0 0 * * 6,0Every Saturday and Sunday at midnight

Task Status

Each task shows its current state with a colored indicator:

StatusIndicatorDescription
RunningBlue spinnerTask is currently executing with live progress updates
CompletedGreen dotTask finished successfully. Shows relative time (e.g., "23h ago")
FailedRed dotTask encountered an error
CancelledOrange dotTask was manually stopped
StaleOrange warningNo status updates received for 5+ minutes. Task may be stuck.
Never runGray textTask has never been executed

Handling Stale Tasks

A task becomes stale when no progress updates have been received for over 5 minutes. This usually means the task is stuck. When a task is stale:

  1. A warning box appears: "This task appears stuck. No updates received for over 5 minutes."
  2. The Run button changes to Re-run, allowing you to restart the task

Notes