Skip to content

Rename ScheduledJobs to DurableJobs#9753

Merged
ReubenBond merged 7 commits intodotnet:mainfrom
benjaminpetit:durable-jobs/rename
Nov 11, 2025
Merged

Rename ScheduledJobs to DurableJobs#9753
ReubenBond merged 7 commits intodotnet:mainfrom
benjaminpetit:durable-jobs/rename

Conversation

@benjaminpetit
Copy link
Member

@benjaminpetit benjaminpetit commented Nov 5, 2025

Description

This PR renames the ScheduledJobs API, types, namespaces, and related components to DurableJobs across the Orleans codebase.

Changes

  • Renamed projects:
    • Orleans.ScheduledJobs → Orleans.DurableJobs
    • Orleans.ScheduledJobs.AzureStorage → Orleans.DurableJobs.AzureStorage
  • Updated all namespaces and class names from ScheduledJobs to DurableJobs (e.g., IScheduledJobGrain → IDurableJobGrain, ScheduledJobsExtensions → DurableJobsExtensions)
  • Renamed grain interfaces and implementations in test grains and core library
  • Updated test files and fixtures to reflect the new naming
  • Updated README files and project configurations (.csproj, Orleans.slnx)
Microsoft Reviewers: Open in CodeFlow

@ReubenBond ReubenBond requested a review from Copilot November 6, 2025 16:45
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request performs a comprehensive rename from "ScheduledJobs" to "DurableJobs" across the entire Orleans codebase. The renaming affects namespaces, class names, interface names, method names, documentation, and project files to better reflect the nature of this feature as durable, one-time job execution rather than traditional scheduled/recurring jobs.

Key changes:

  • Renamed all occurrences of ScheduledJob to DurableJob and ScheduledJobs to DurableJobs in code, namespaces, and documentation
  • Updated project names, package IDs, and assembly names from Orleans.ScheduledJobs to Orleans.DurableJobs
  • Renamed test categories from "ScheduledJobs" to "DurableJobs"

Reviewed Changes

Copilot reviewed 53 out of 56 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/Orleans.DurableJobs/* Core library files renamed and updated with new namespace and class names
src/Azure/Orleans.DurableJobs.AzureStorage/* Azure Storage provider updated with new namespaces and terminology
test/Tester/DurableJobs/* Test runner and fixtures updated with new names and namespaces
test/Extensions/TesterAzureUtils/DurableJobs/* Azure-specific tests updated with new namespaces
test/DefaultCluster.Tests/* In-memory test file renamed from InMemoryScheduledJobTests.cs to InMemoryDurableJobsTests.cs
test/Grains/TestGrains/* Test grain implementations updated to use new interfaces and manager names
test/Grains/TestGrainInterfaces/* Test grain interfaces updated with new type names
Orleans.slnx Solution file updated with new project paths
*.csproj Project references updated to point to renamed projects
Comments suppressed due to low confidence (7)

src/Orleans.DurableJobs/DurableJob.cs:11

  • The Alias attribute value is incorrect. For backwards compatibility with serialized data, it should retain the original type name 'Orleans.ScheduledJobs.ScheduledJob' to ensure that existing persisted jobs can be deserialized correctly after the rename.
    src/Azure/Orleans.DurableJobs.AzureStorage/Hosting/AzureStorageDurableJobsExtensions.cs:68
  • The fully qualified namespace 'Orleans.DurableJobs.JobShardManager' is inconsistent with line 90 which also uses the same pattern. Since the file has a using directive for 'Orleans.DurableJobs', these should use the unqualified type name 'JobShardManager' for consistency, or a using alias should be added if there's a naming conflict.
    src/Azure/Orleans.DurableJobs.AzureStorage/Hosting/AzureStorageDurableJobsExtensions.cs:90
  • The fully qualified namespace 'Orleans.DurableJobs.JobShardManager' is inconsistent with the rest of the file. Since the file has a using directive for 'Orleans.DurableJobs', this should use the unqualified type name 'JobShardManager' for consistency with other type references in the file.
    src/Azure/Orleans.DurableJobs.AzureStorage/AzureStorageJobShardManager.cs:60
  • The fully qualified namespace 'Orleans.DurableJobs.IJobShard' is unnecessary since the file includes 'using Orleans.DurableJobs;' via the renamed namespace declaration. Use 'IJobShard' directly for consistency.
    src/Azure/Orleans.DurableJobs.AzureStorage/AzureStorageJobShardManager.cs:65
  • The fully qualified namespace 'Orleans.DurableJobs.IJobShard' is unnecessary since the file includes 'using Orleans.DurableJobs;' via the renamed namespace declaration. Use 'IJobShard' directly for consistency.
    src/Azure/Orleans.DurableJobs.AzureStorage/AzureStorageJobShardManager.cs:177
  • The fully qualified namespace 'Orleans.DurableJobs.IJobShard' is unnecessary since the file includes 'using Orleans.DurableJobs;' via the renamed namespace declaration. Use 'IJobShard' directly for consistency.
    src/Azure/Orleans.DurableJobs.AzureStorage/AzureStorageJobShardManager.cs:220
  • The fully qualified namespace 'Orleans.DurableJobs.IJobShard' is unnecessary since the file includes 'using Orleans.DurableJobs;' via the renamed namespace declaration. Use 'IJobShard' directly for consistency.

benjaminpetit and others added 6 commits November 11, 2025 11:47
- Moved all source files from src/Orleans.ScheduledJobs to src/Orleans.DurableJobs
- Renamed project file to Orleans.DurableJobs.csproj and updated PackageId
- Updated all project references and solution entries to point to Orleans.DurableJobs
- Restored file contents after migration
- Ensured no changes to namespaces or assembly names
…eStorage: Move folder, project file, update PackageId, and fix all references. No changes to namespaces or assembly names. All builds and ScheduledJobs tests validated.
- Renamed all namespaces from Orleans.ScheduledJobs to Orleans.DurableJobs
- Renamed Orleans.ScheduledJobs.AzureStorage to Orleans.DurableJobs.AzureStorage
- Updated all using directives and type references in source and test files
- Validated with build and tests (all passing)
- No changes to assembly names or public API signatures
@ReubenBond
Copy link
Member

I rebased and added a fixup commit (my previous commit conflicted)

@ReubenBond ReubenBond enabled auto-merge November 11, 2025 19:52
@ReubenBond ReubenBond added this pull request to the merge queue Nov 11, 2025
Merged via the queue into dotnet:main with commit 1077047 Nov 11, 2025
28 of 29 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Dec 12, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants