# IDurableJobHandler

Package: [Microsoft.Orleans.DurableJobs](/orleans/docs/api/csharp/microsoft.orleans.durablejobs/) 10.0.0-alpha.1

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.DurableJobs) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.DurableJobs/IDurableJobHandler.cs#L93)

```csharp
public interface IDurableJobHandler
```

Defines the interface for handling durable job execution. Grains implement this interface to receive and process durable jobs.

## Remarks

Grains that implement this interface can be targeted by durable jobs. The [IDurableJobHandler](/orleans/docs/api/csharp/microsoft.orleans.durablejobs/orleans.durablejobs.idurablejobhandler/) method is invoked when the job's due time is reached.

 The following example demonstrates a grain that implements [IDurableJobHandler](/orleans/docs/api/csharp/microsoft.orleans.durablejobs/orleans.durablejobs.idurablejobhandler/): 

```csharp
public class MyGrain : Grain, IDurableJobHandler
            {
                public Task ExecuteJobAsync(IJobRunContext context, CancellationToken cancellationToken)
                {
                    // Process the durable job
                    var jobName = context.Job.Name;
                    var dueTime = context.Job.DueTime;
                    
                    // Perform job logic here
                    
                    return Task.CompletedTask;
                }
            }
```

## Methods

- [ExecuteJobAsync(IJobRunContext, CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.durablejobs/orleans.durablejobs.idurablejobhandler/methods/executejobasync-orleans-durablejobs-ijobruncontext-system-threading-cancellation-58290508/)
