Skip to content

Add Immediate.Jobs documentation - #13

Merged
viceroypenguin merged 7 commits into
mainfrom
docs/immediate-jobs
Jul 30, 2026
Merged

Add Immediate.Jobs documentation#13
viceroypenguin merged 7 commits into
mainfrom
docs/immediate-jobs

Conversation

@dukesteen

@dukesteen dukesteen commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • replace the Immediate.Jobs placeholder with a complete application and operations manual
  • document scheduling, recurring jobs, NodaTime, workflows, storage providers, monitoring, telemetry, testing, and diagnostics
  • integrate Immediate.Jobs into shared installation, compatibility, generation, identifier, and tag documentation

Validation

  • pnpm check
  • pnpm lint
  • pnpm build
  • git diff --check

Summary by CodeRabbit

  • Documentation
    • Added comprehensive Immediate.Jobs documentation covering job creation, scheduling, recurring jobs, batches, workflows, storage providers, monitoring, diagnostics, observability, testing, delivery guarantees, and execution context.
    • Added installation, source-generation, tagging, package compatibility, and assembly identifier guidance.
    • Added sample pages for Basic, Normal, Native AOT, and .NET Aspire scenarios.
    • Improved navigation, package grouping, and redirects for legacy documentation URLs.
    • Added examples and guidance for NodaTime integration and dashboard security.

@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The PR adds comprehensive Immediate.Jobs documentation covering APIs, job creation, scheduling, workflows, storage, operations, integrations, testing, and samples. It also updates shared onboarding and concept pages, reorganizes documentation navigation, adds legacy redirects, and normalizes prerendered redirects during builds.

Changes

Immediate.Jobs documentation

Layer / File(s) Summary
Job foundations and lifecycle
src/content/docs/Immediate.Jobs/introduction.md, how-it-works.md, creating-jobs.md, registration-and-hosting.md, execution-context-and-behaviors.md, delivery-guarantees.md, recurring-jobs.md
Documents source generation, job declarations, registration, execution, context extraction, delivery guarantees, retries, leases, recurring jobs, and lifecycle behavior.
Scheduling, workflows, and storage
src/content/docs/Immediate.Jobs/api-reference.md, enqueueing-and-scheduling.md, batches-and-continuations.md, queues-and-fairness.md, choosing-storage.md, configuring-storage-providers.md
Documents scheduler and batch contracts, continuations, fair groups, queue behavior, provider capabilities, topology choices, and storage configuration.
Operations and integrations
src/content/docs/Immediate.Jobs/dashboard-and-monitoring.md, observability-and-health.md, nodatime.md, diagnostics.md, testing-jobs.md, samples/*
Documents dashboard APIs, monitoring, telemetry, health checks, NodaTime support, diagnostics, test harnesses, capture schedulers, and sample projects.

Shared documentation and site infrastructure

Layer / File(s) Summary
Shared concepts and onboarding
src/content/docs/concepts/*, src/content/docs/getting-started/*, src/content/docs/Immediate.Handlers/samples/normal.md
Updates source-generation, package compatibility, tags, installation, onboarding, package selection, and sample navigation content.
Navigation and build integration
src/lib/docs/config.ts, package.json, scripts/normalize-prerendered-redirects.mjs
Adds grouped sidebar configuration and legacy redirects, then normalizes prerendered redirect HTML before search indexing.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding substantial Immediate.Jobs documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/immediate-jobs

Comment @coderabbitai help to get the list of available commands.

@dukesteen
dukesteen changed the base branch from feat/svelte-docs-starter to main July 27, 2026 22:26

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 19

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/content/docs/getting-started/tutorial/caching.md`:
- Around line 115-123: Update HandleAsync and the corresponding GetTodoQuery
cache-read path to coordinate access per Todo ID, ensuring an in-flight read
cannot repopulate the cache with a pre-Complete value after repository.Complete
and cache.RemoveValue run. Use an atomic/versioned cache strategy or per-key
synchronization, and preserve the existing completion behavior.

In `@src/content/docs/getting-started/tutorial/first-handler.md`:
- Around line 27-56: Make TodoRepository thread-safe before using it as a
singleton by synchronizing GetAll, GetById, Add, and Complete access to _items
and _nextId, or replacing them with concurrency-safe storage while preserving
current behavior. In
src/content/docs/getting-started/tutorial/dependency-injection.md lines 44-46,
retain the singleton recommendation; it is valid once the repository
implementation is protected.

In `@src/content/docs/Immediate.Apis/openapi.md`:
- Around line 50-55: Update the CreateSchemaReferenceId callback in AddOpenApi
to use the nested type’s full name, replacing nested separators with dots, and
fall back to OpenApiOptions.CreateDefaultSchemaReferenceId(t) when FullName is
unavailable; preserve the existing default behavior for non-nested types.

In `@src/content/docs/Immediate.Handlers/attributes-and-interfaces.md`:
- Line 25: Update the [Handler] heading in the attributes-and-interfaces
documentation from level 3 to level 2, then adjust its following section
headings consistently to preserve a valid heading hierarchy.

In `@src/content/docs/Immediate.Handlers/openapi-and-swashbuckle.md`:
- Around line 48-56: Update the CustomSchemaIds configuration to make generated
IDs globally unique by incorporating the declaring type’s namespace or full name
alongside x.Name. Preserve the existing fallback for schemas without a declaring
type, and ensure distinct declaring types cannot produce the same schema ID.
- Around line 35-38: Update the CustomSchemaIds callback in AddSwaggerGen to
fall back to x.Name when x.FullName is null, while preserving the existing
nested-type replacement behavior for non-null FullName values.

In `@src/content/docs/Immediate.Handlers/registration.md`:
- Around line 56-64: Update the warning callout in the registration
documentation to title it “Generated behavior registrations are transient.”
Clarify that generated registrations use a transient lifetime, while an earlier
user registration preserved by TryAdd may instead be scoped, singleton, or
another lifetime and therefore overrides the generated registration.
- Around line 26-30: The assembly-identifier normalization rules are
inconsistent across package documentation. In
src/content/docs/Immediate.Handlers/registration.md lines 26-30, retain or
clarify the authoritative rule that removes periods, spaces, and hyphens; in
src/content/docs/Immediate.Injections/introduction.md lines 61-63, update the
rule description and example to use the same normalization behavior and assembly
identifier consistently.

In `@src/content/docs/Immediate.Injections/how-it-works.md`:
- Around line 120-126: Update the “Second argument” row in the mapping table to
describe factory registrations using the generated factory member, such as
<AttributedType>.<FactoryMethod>, instead of Type.Factory. Keep the existing
mappings for implementation types and UseProxyFactory unchanged.

In `@src/content/docs/Immediate.Injections/registering-services.md`:
- Around line 34-35: Qualify the default registration statement in the Immediate
Injections service-registration documentation to apply only when no
assembly-wide RegistrationDefaults.RegistrationStrategy is configured. Mention
that bare lifetime attributes inherit the configured strategy and may therefore
register implemented interfaces, while preserving the existing as-itself example
for the unconfigured case.

In `@src/content/docs/Immediate.Jobs/api-reference.md`:
- Around line 166-180: Update the StorageMode entry in the ImmediateJobsOptions
defaults table to document InMemory when no storage provider is selected. Add
separate documentation clarifying that durable providers default to SingleServer
unless distributed mode is explicitly requested, keeping the existing AddXxxJobs
and other defaults unchanged.

In `@src/content/docs/Immediate.Jobs/nodatime.md`:
- Around line 36-38: Define timeZoneProvider before the AddImmediateJobsNodaTime
call in the example, using a concrete NodaTime provider setup so the copied
snippet compiles without undeclared variables.

In `@src/content/docs/Immediate.Jobs/observability-and-health.md`:
- Around line 34-36: Update the observability guidance wording from “growing due
depth” to “growing queue depth,” preserving the existing reference to the
documented queue.depth metric.

In `@src/content/docs/Immediate.Jobs/recurring-jobs.md`:
- Around line 36-53: Expand the dynamic-schedule example to show where
tenantCleanupScheduler comes from by adding a containing class or method that
receives the generated IRecurringJobScheduler through dependency injection. Keep
the existing AddOrUpdateRecurringAsync and RemoveRecurringAsync calls unchanged
and ensure the declared scheduler is the one used by both calls.

In `@src/content/docs/Immediate.Validations/handling-failures.md`:
- Around line 26-40: Update the ValidationException mapping in the
c.ProblemDetails switch to assign ValidationProblemDetails.Title from ex.Title
alongside Status, preserving the documented exception title in the client
response.

In `@src/content/docs/Immediate.Validations/how-it-works.md`:
- Around line 193-198: Reconcile the analyzer count in the “Four analyzers ship
alongside the generator” paragraph with the listed analyzer symbols. Either
identify and add the omitted analyzer to the enumeration, or change the count to
three if only ValidatorClassAnalyzer, ValidateClassAnalyzer, and
AssemblyBehaviorAnalyzer are shipped; keep the two DiagnosticSuppressor entries
distinct.

In `@src/content/docs/Immediate.Validations/introduction.md`:
- Around line 13-16: Update the introduction’s claims around “no reflection” and
AOT/trimming to clarify that validation traversal is generated at compile time,
while reflective metadata access such as custom validator DefaultMessage
requires preservation for trimming/AOT. Apply the same qualification to the
corresponding claims in the additional referenced section, without changing the
generated-validation behavior description.

In `@src/content/docs/Immediate.Validations/localization.md`:
- Around line 106-110: Update the localization guidance around
ValidationConfiguration.Localizer to remove the unsupported claim that missing
entries fall back to the built-in localizer, unless the documentation also
defines and provides an explicit composite localizer that delegates missing keys
to it.

In `@svelte.config.js`:
- Around line 89-98: Update the heading ID processing around the existing `seen`
map to reserve every explicit heading `id` before generating IDs from
`slugify(textContent(node))`. When creating a generated ID, increment or advance
the suffix until it is not already reserved, including explicit IDs and
previously generated IDs, then record the chosen ID in `seen`.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 4a007e1f-fa3a-454b-82a7-e5c703f75685

📥 Commits

Reviewing files that changed from the base of the PR and between 3dce47b and 64acf70.

📒 Files selected for processing (113)
  • src/content/docs/Immediate.Apis/attributes-reference.md
  • src/content/docs/Immediate.Apis/authorization.md
  • src/content/docs/Immediate.Apis/binding-request-data.md
  • src/content/docs/Immediate.Apis/creating-endpoints.md
  • src/content/docs/Immediate.Apis/customizing-endpoints.md
  • src/content/docs/Immediate.Apis/diagnostics.md
  • src/content/docs/Immediate.Apis/how-it-works.md
  • src/content/docs/Immediate.Apis/introduction.md
  • src/content/docs/Immediate.Apis/openapi.md
  • src/content/docs/Immediate.Apis/route-groups.md
  • src/content/docs/Immediate.Apis/swashbuckle-support.md
  • src/content/docs/Immediate.Apis/tagged-registration.md
  • src/content/docs/Immediate.Cache/api-reference.md
  • src/content/docs/Immediate.Cache/cache-entry-options.md
  • src/content/docs/Immediate.Cache/creating-a-cache.md
  • src/content/docs/Immediate.Cache/diagnostics.md
  • src/content/docs/Immediate.Cache/how-it-works.md
  • src/content/docs/Immediate.Cache/introduction.md
  • src/content/docs/Immediate.Cache/reading-and-writing.md
  • src/content/docs/Immediate.Cache/testing-caches.md
  • src/content/docs/Immediate.Handlers/attributes-and-interfaces.md
  • src/content/docs/Immediate.Handlers/creating-behaviors.md
  • src/content/docs/Immediate.Handlers/creating-handlers.md
  • src/content/docs/Immediate.Handlers/diagnostics.md
  • src/content/docs/Immediate.Handlers/handler-dependencies.md
  • src/content/docs/Immediate.Handlers/how-it-works.md
  • src/content/docs/Immediate.Handlers/introduction.md
  • src/content/docs/Immediate.Handlers/openapi-and-swashbuckle.md
  • src/content/docs/Immediate.Handlers/registration.md
  • src/content/docs/Immediate.Handlers/samples/normal.md
  • src/content/docs/Immediate.Handlers/streaming-handlers.md
  • src/content/docs/Immediate.Handlers/tagged-registration.md
  • src/content/docs/Immediate.Injections/assembly-defaults.md
  • src/content/docs/Immediate.Injections/attributes-reference.md
  • src/content/docs/Immediate.Injections/attributes.md
  • src/content/docs/Immediate.Injections/diagnostics.md
  • src/content/docs/Immediate.Injections/factories-and-proxies.md
  • src/content/docs/Immediate.Injections/how-it-works.md
  • src/content/docs/Immediate.Injections/introduction.md
  • src/content/docs/Immediate.Injections/keyed-services.md
  • src/content/docs/Immediate.Injections/manual-registration.md
  • src/content/docs/Immediate.Injections/migrating-from-other-libraries.md
  • src/content/docs/Immediate.Injections/open-generics.md
  • src/content/docs/Immediate.Injections/register-services.md
  • src/content/docs/Immediate.Injections/registering-services.md
  • src/content/docs/Immediate.Injections/registration-strategies.md
  • src/content/docs/Immediate.Injections/tagged-registration.md
  • src/content/docs/Immediate.Jobs/api-reference.md
  • src/content/docs/Immediate.Jobs/batches-and-continuations.md
  • src/content/docs/Immediate.Jobs/choosing-storage.md
  • src/content/docs/Immediate.Jobs/configuring-storage-providers.md
  • src/content/docs/Immediate.Jobs/creating-jobs.md
  • src/content/docs/Immediate.Jobs/dashboard-and-monitoring.md
  • src/content/docs/Immediate.Jobs/delivery-guarantees.md
  • src/content/docs/Immediate.Jobs/diagnostics.md
  • src/content/docs/Immediate.Jobs/enqueueing-and-scheduling.md
  • src/content/docs/Immediate.Jobs/execution-context-and-behaviors.md
  • src/content/docs/Immediate.Jobs/how-it-works.md
  • src/content/docs/Immediate.Jobs/introduction.md
  • src/content/docs/Immediate.Jobs/nodatime.md
  • src/content/docs/Immediate.Jobs/observability-and-health.md
  • src/content/docs/Immediate.Jobs/queues-and-fairness.md
  • src/content/docs/Immediate.Jobs/recurring-jobs.md
  • src/content/docs/Immediate.Jobs/registration-and-hosting.md
  • src/content/docs/Immediate.Jobs/samples/aspire.md
  • src/content/docs/Immediate.Jobs/samples/basic.md
  • src/content/docs/Immediate.Jobs/samples/native-aot.md
  • src/content/docs/Immediate.Jobs/testing-jobs.md
  • src/content/docs/Immediate.Validation/creating-validators.md
  • src/content/docs/Immediate.Validation/custom-messages.md
  • src/content/docs/Immediate.Validation/extending-validation-classes.md
  • src/content/docs/Immediate.Validation/handling-failures.md
  • src/content/docs/Immediate.Validation/immediate-handlers.md
  • src/content/docs/Immediate.Validation/validating-instances.md
  • src/content/docs/Immediate.Validations/additional-validations.md
  • src/content/docs/Immediate.Validations/api-reference.md
  • src/content/docs/Immediate.Validations/built-in-validators.md
  • src/content/docs/Immediate.Validations/creating-validators.md
  • src/content/docs/Immediate.Validations/custom-messages.md
  • src/content/docs/Immediate.Validations/custom-validators.md
  • src/content/docs/Immediate.Validations/diagnostics.md
  • src/content/docs/Immediate.Validations/handling-failures.md
  • src/content/docs/Immediate.Validations/how-it-works.md
  • src/content/docs/Immediate.Validations/immediate-handlers-integration.md
  • src/content/docs/Immediate.Validations/introduction.md
  • src/content/docs/Immediate.Validations/localization.md
  • src/content/docs/Immediate.Validations/nested-and-collection-validation.md
  • src/content/docs/Immediate.Validations/validating-instances.md
  • src/content/docs/benchmarks/performance-comparisons.md
  • src/content/docs/concepts/assembly-identifier.md
  • src/content/docs/concepts/handlers-and-behaviors.md
  • src/content/docs/concepts/package-compatibility.md
  • src/content/docs/concepts/source-generation.md
  • src/content/docs/concepts/tags.md
  • src/content/docs/getting-started/installation.md
  • src/content/docs/getting-started/introduction.md
  • src/content/docs/getting-started/quickstart.md
  • src/content/docs/getting-started/tutorial/adding-validation.md
  • src/content/docs/getting-started/tutorial/caching.md
  • src/content/docs/getting-started/tutorial/dependency-injection.md
  • src/content/docs/getting-started/tutorial/exposing-endpoints.md
  • src/content/docs/getting-started/tutorial/first-handler.md
  • src/content/docs/getting-started/tutorial/next-steps.md
  • src/content/docs/getting-started/tutorial/overview.md
  • src/lib/components/layout/sidebar-left.svelte
  • src/lib/components/ui/sidebar/constants.ts
  • src/lib/docs/config.ts
  • src/lib/docs/content.ts
  • src/lib/docs/navigation.ts
  • src/lib/docs/types.ts
  • src/routes/(docs)/docs/[...slug]/+page.ts
  • src/routes/+page.svelte
  • svelte.config.js
💤 Files with no reviewable changes (9)
  • src/content/docs/Immediate.Validation/validating-instances.md
  • src/content/docs/Immediate.Validation/extending-validation-classes.md
  • src/content/docs/Immediate.Validation/creating-validators.md
  • src/content/docs/Immediate.Validation/immediate-handlers.md
  • src/content/docs/Immediate.Injections/attributes.md
  • src/content/docs/Immediate.Validation/handling-failures.md
  • src/content/docs/Immediate.Injections/register-services.md
  • src/content/docs/Immediate.Validation/custom-messages.md
  • src/content/docs/Immediate.Apis/swashbuckle-support.md

Comment thread src/content/docs/getting-started/tutorial/caching.md Outdated
Comment thread src/content/docs/getting-started/tutorial/first-handler.md Outdated
Comment thread src/content/docs/Immediate.Apis/openapi.md
Comment thread src/content/docs/Immediate.Handlers/attributes-and-interfaces.md Outdated
Comment thread src/content/docs/Immediate.Handlers/openapi-and-swashbuckle.md
Comment thread src/content/docs/Immediate.Validations/handling-failures.md
Comment thread src/content/docs/Immediate.Validations/how-it-works.md Outdated
Comment thread src/content/docs/Immediate.Validations/introduction.md Outdated
Comment thread src/content/docs/Immediate.Validations/localization.md Outdated
Comment thread svelte.config.js
@coderabbitai coderabbitai Bot mentioned this pull request Jul 28, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
src/content/docs/Immediate.Jobs/api-reference.md (1)

188-188: 🎯 Functional Correctness | 🟠 Major

Correct the StorageMode default.

This still does not document the actual defaults: InMemory when no provider is selected, and SingleServer for durable providers unless distributed mode is enabled. The current wording is contradictory and remains unresolved from the previous review.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/content/docs/Immediate.Jobs/api-reference.md` at line 188, Update the
StorageMode documentation entry to state that the default is InMemory when no
provider is selected, and SingleServer for durable providers unless distributed
mode is enabled. Remove the contradictory “SingleServer until default in-memory
selection” wording.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/content/docs/Immediate.Jobs/batches-and-continuations.md`:
- Around line 83-88: Declare tenantId in the documentation example before the
AddToBatchInGroup and AddToBatchAt calls, either by adding it to
ImportWorkflow.StartAsync parameters or defining it locally, so the snippet is
complete and compilable.

---

Duplicate comments:
In `@src/content/docs/Immediate.Jobs/api-reference.md`:
- Line 188: Update the StorageMode documentation entry to state that the default
is InMemory when no provider is selected, and SingleServer for durable providers
unless distributed mode is enabled. Remove the contradictory “SingleServer until
default in-memory selection” wording.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: cb58d45a-fcdc-481e-aa33-16fee52507dd

📥 Commits

Reviewing files that changed from the base of the PR and between edebf68 and 9e04963.

📒 Files selected for processing (6)
  • src/content/docs/Immediate.Jobs/api-reference.md
  • src/content/docs/Immediate.Jobs/batches-and-continuations.md
  • src/content/docs/Immediate.Jobs/creating-jobs.md
  • src/content/docs/Immediate.Jobs/diagnostics.md
  • src/content/docs/Immediate.Jobs/execution-context-and-behaviors.md
  • src/content/docs/Immediate.Jobs/recurring-jobs.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/content/docs/Immediate.Jobs/creating-jobs.md
  • src/content/docs/Immediate.Jobs/execution-context-and-behaviors.md

Comment thread src/content/docs/Immediate.Jobs/batches-and-continuations.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/content/docs/Immediate.Jobs/batches-and-continuations.md`:
- Around line 12-14: Update the storage requirement statement in the batches and
continuations documentation to say that batches require a graph-capable provider
rather than specifically a graph-capable SQL provider, keeping the existing
Redis capability clarification unchanged.

In `@src/content/docs/Immediate.Jobs/configuring-storage-providers.md`:
- Around line 81-84: Update the CreateImmediateJobsSchemaAsync example to use
CancellationToken.None instead of the undeclared cancellationToken, keeping the
snippet self-contained and compilable.

In `@src/content/docs/Immediate.Jobs/recurring-jobs.md`:
- Around line 23-26: Make both documentation examples self-contained: in
src/content/docs/Immediate.Jobs/recurring-jobs.md lines 23-26, assign the
injected CleanupSessionsJob.Scheduler to scheduler before calling
TriggerNowAsync; in src/content/docs/Immediate.Jobs/batches-and-continuations.md
line 87, declare or pass a DateTimeOffset-compatible value for runAt so the
example compiles as shown.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 3fb0c9ec-653e-44d3-9321-cfbfda0fd955

📥 Commits

Reviewing files that changed from the base of the PR and between af78b5e and e1bd169.

⛔ Files ignored due to path filters (4)
  • static/images/immediate-jobs/dashboard/batch-workflow-dark.png is excluded by !**/*.png
  • static/images/immediate-jobs/dashboard/batch-workflow-light.png is excluded by !**/*.png
  • static/images/immediate-jobs/dashboard/jobs-dark.png is excluded by !**/*.png
  • static/images/immediate-jobs/dashboard/jobs-light.png is excluded by !**/*.png
📒 Files selected for processing (31)
  • package.json
  • scripts/normalize-prerendered-redirects.mjs
  • src/content/docs/Immediate.Handlers/samples/normal.md
  • src/content/docs/Immediate.Jobs/api-reference.md
  • src/content/docs/Immediate.Jobs/batches-and-continuations.md
  • src/content/docs/Immediate.Jobs/choosing-storage.md
  • src/content/docs/Immediate.Jobs/configuring-storage-providers.md
  • src/content/docs/Immediate.Jobs/creating-jobs.md
  • src/content/docs/Immediate.Jobs/dashboard-and-monitoring.md
  • src/content/docs/Immediate.Jobs/delivery-guarantees.md
  • src/content/docs/Immediate.Jobs/diagnostics.md
  • src/content/docs/Immediate.Jobs/enqueueing-and-scheduling.md
  • src/content/docs/Immediate.Jobs/execution-context-and-behaviors.md
  • src/content/docs/Immediate.Jobs/how-it-works.md
  • src/content/docs/Immediate.Jobs/introduction.md
  • src/content/docs/Immediate.Jobs/nodatime.md
  • src/content/docs/Immediate.Jobs/observability-and-health.md
  • src/content/docs/Immediate.Jobs/queues-and-fairness.md
  • src/content/docs/Immediate.Jobs/recurring-jobs.md
  • src/content/docs/Immediate.Jobs/registration-and-hosting.md
  • src/content/docs/Immediate.Jobs/samples/aspire.md
  • src/content/docs/Immediate.Jobs/samples/basic.md
  • src/content/docs/Immediate.Jobs/samples/native-aot.md
  • src/content/docs/Immediate.Jobs/testing-jobs.md
  • src/content/docs/concepts/assembly-identifier.md
  • src/content/docs/concepts/package-compatibility.md
  • src/content/docs/concepts/source-generation.md
  • src/content/docs/concepts/tags.md
  • src/content/docs/getting-started/installation.md
  • src/content/docs/getting-started/introduction.md
  • src/lib/docs/config.ts
🚧 Files skipped from review as they are similar to previous changes (12)
  • src/content/docs/Immediate.Jobs/samples/aspire.md
  • src/content/docs/concepts/assembly-identifier.md
  • src/content/docs/Immediate.Jobs/creating-jobs.md
  • src/content/docs/Immediate.Jobs/samples/basic.md
  • src/content/docs/Immediate.Jobs/dashboard-and-monitoring.md
  • src/content/docs/Immediate.Jobs/diagnostics.md
  • src/content/docs/Immediate.Jobs/testing-jobs.md
  • src/content/docs/Immediate.Jobs/introduction.md
  • src/content/docs/concepts/source-generation.md
  • src/content/docs/concepts/tags.md
  • src/content/docs/Immediate.Jobs/registration-and-hosting.md
  • src/content/docs/getting-started/installation.md

Comment thread src/content/docs/Immediate.Jobs/batches-and-continuations.md Outdated
Comment thread src/content/docs/Immediate.Jobs/configuring-storage-providers.md
Comment thread src/content/docs/Immediate.Jobs/recurring-jobs.md Outdated
@viceroypenguin
viceroypenguin merged commit 83ce153 into main Jul 30, 2026
1 check passed
@viceroypenguin
viceroypenguin deleted the docs/immediate-jobs branch July 30, 2026 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants