Version v1.0 · dotnet

One-Off and Delayed Jobs

Enqueue immediate and scheduled runs using the DurableStack client API.

One-Off and Delayed Jobs

Use IDurableStackClient for ad-hoc and scheduled-once execution.

Enqueue immediately

var runId = await durableClient.EnqueueAsync<SendWelcomeEmailJob>(
    new SendWelcomeEmailArgs { Email = "[email protected]" },
    cancellationToken);

Schedule for later

var runAtUtc = DateTimeOffset.UtcNow.AddMinutes(30);

var runId = await durableClient.ScheduleAsync<SendWelcomeEmailJob>(
    new SendWelcomeEmailArgs { Email = "[email protected]" },
    runAtUtc,
    cancellationToken);

Cancel a run

var cancelled = await durableClient.CancelRunAsync(runId, cancellationToken);

Query scheduled and recent runs

var recent = await runQueryService.GetRecentRunsAsync(50, cancellationToken);
var pending = await runQueryService.GetRunsByStatusAsync("pending", 50, cancellationToken);

Practical guidance

  • Use delayed jobs for time-based follow-up work that is not recurring.
  • Keep payload DTOs version-safe and backward-compatible where possible.
  • Use run query APIs to verify enqueue/schedule behavior in integration tests.