# XactJobs > Background jobs for EF Core that commit in the same transaction as your data, on SQL Server, PostgreSQL, MySQL, Oracle and SQLite (.NET 8, 9 and 10). A job enqueued with JobEnqueue is a row saved by your own SaveChanges: it runs only if your transaction commits. The worker saves a job's database changes in the transaction that completes it, so they happen exactly once. XactJobs is pre-1.0: the API can still change between minor versions. Source: https://github.com/XactJobs/XactJobs ## Start here - [Getting started](https://xactjobs.com/docs/getting-started/): Install XactJobs, create its tables, register it, and enqueue a job that commits with your data. - [Jobs](https://xactjobs.com/docs/jobs/): What a job method can be, static and instance methods, dependency injection, parameters, CancellationToken and XactJobContext. - [A job is a unit of work](https://xactjobs.com/docs/unit-of-work/): The worker saves a job's database changes in the same transaction that marks it completed, so they happen exactly once. The save check warns when a job saves outside a transaction. ## Guides - [Scheduling](https://xactjobs.com/docs/scheduling/): Fire-and-forget, delayed and periodic jobs, several jobs in one transaction, and periodic jobs on many nodes, with reconciliation, pause and resume. - [Batches and continuations](https://xactjobs.com/docs/batches-and-continuations/): Continue a job with another, group jobs in a batch, and run continuations OnSuccess, OnFailure or OnFinish. - [Queues and polling](https://xactjobs.com/docs/queues-and-polling/): Isolated queues with their own workers, how workers poll and claim batches of jobs, BatchSize, and QuickPoll. - [Failures, retries and stopping](https://xactjobs.com/docs/failures-and-retries/): What happens when a job throws, the default retry strategy, XactJobCancelException, and how workers stop. - [Idempotent external calls](https://xactjobs.com/docs/idempotent-external-calls/): Calls to other systems are at least once. Pass an idempotency key as a job argument, or build it from OriginallyScheduledAt for periodic jobs. - [Dashboard and API](https://xactjobs.com/docs/dashboard/): The XactJobs.UI dashboard and REST API, its access options, pages and actions. - [Metrics and logs](https://xactjobs.com/docs/observability/): The workers' metrics on the meter XactJobs, for OpenTelemetry or dotnet-counters, and the log scope of each job's attempt. - [Using XactJobs with AI agents](https://xactjobs.com/docs/ai-agents/): A snippet for CLAUDE.md or AGENTS.md with the rules a coding agent needs to write XactJobs jobs correctly, and the llms.txt files. ## Reference - [Configuration](https://xactjobs.com/docs/configuration/): Every option of AddXactJobs, the queues, the model configuration and the dashboard, with its default. - [Databases](https://xactjobs.com/docs/databases/): Notes per database, from versions and providers to isolation levels, PostgreSQL autovacuum, Oracle 12c+, and several apps in one database. - [Upgrading](https://xactjobs.com/docs/upgrading/): The SQL scripts per version and database, and what to do before and after each upgrade. - [Throughput and benchmarks](https://xactjobs.com/docs/throughput/): A measured drain rate on a small cloud VM, and the benchmarks in the repository to measure on your own machine. ## Optional - [All the docs in one file](https://xactjobs.com/llms-full.txt): every page above as plain markdown