# Interface IWorkflowServiceRunner OptimaJet.Workflow.Core.Runtime.ServiceRunners.IWorkflowServiceRunner Defines how a workflow runtime starts and configures its service loop. Namespace: [OptimaJet.Workflow.Core.Runtime.ServiceRunners](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime.ServiceRunners/) ```csharp public interface IWorkflowServiceRunner ``` ## Type Hierarchy - IWorkflowServiceRunner Current type - Implementing types - [MultiServerServiceRunner](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime.ServiceRunners/MultiServerServiceRunner/) - [SingleServerServiceRunner](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime.ServiceRunners/SingleServerServiceRunner/) ## Properties `bool IsSupportsMultiServer { get; }` Gets a value indicating whether this runner supports multi-server execution. ## Methods `Task StartAsync(ITimerManager manager)` Starts service-specific runtime initialization. ### Parameters | Name | Type | Description | | --- | --- | --- | | `manager` | `ITimerManager` | The [ITimerManager](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/ITimerManager/) to use during startup, if available. | ### Returns | Type | Description | | --- | --- | | `Task` | A task that completes when runner startup initialization is finished. | ### Remarks The implementation may start timers and run process restore operations according to the selected execution mode. ## Remarks Implementations are used by [WorkflowRuntime](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/WorkflowRuntime/) during startup and may perform environment-specific restore and timer initialization. [Previous RestoreDecisionTypes](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime.ProcessRestoring/RestoreDecisionTypes/) [Next MultiServerRestorer](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime.ServiceRunners/MultiServerRestorer/)