private WorkerTask(ActivityTask activityTask, IHeartbeatSwfApi heartbeatSwfApi, IErrorHandler errorHandler) { _activityTask = activityTask; _heartbeatSwfApi = heartbeatSwfApi; _errorHandler = errorHandler; _execute = ExecuteActivityTask; }
internal void StartHeartbeatIfEnabled(IHeartbeatSwfApi heartbeatSwfApi, string taskToken) { if (!_enabled) { return; } StartHeartbeat(heartbeatSwfApi, taskToken); }
private async Task RecordHeartbeat(IHeartbeatSwfApi heartbeatSwfApi, string token) { var details = _activityDetailsFunc(); var isCancellationRequested = await heartbeatSwfApi.RecordHearbeatAsync(token, details, _cancellationTokenSource.Token); if (isCancellationRequested) { RaiseCancellationRequestedEvent(); } }
private async void StartHeartbeat(IHeartbeatSwfApi heartbeatSwfApi, string taskToken) { var interval = _interval; while (!_stopped) { var waited = await WaitFor(interval); if (!waited) { continue; } await ExecuteInRetryLoop(async() => await RecordHeartbeat(heartbeatSwfApi, taskToken)); } }
private async void StartHeartbeat(IHeartbeatSwfApi heartbeatSwfApi, string taskToken) { var interval = _interval; while (!_stopped) { var waited = await WaitFor(interval); if (!waited) { continue; } _log.Debug($"Reporting the heartbeat for task token {taskToken}, after interval {interval}."); await ExecuteInRetryLoop(async() => await RecordHeartbeat(heartbeatSwfApi, taskToken)); } }
public static WorkerTask CreateFor(ActivityTask activityTask, IHeartbeatSwfApi heartbeatSwfApi) { return(new WorkerTask(activityTask, heartbeatSwfApi, ErrorHandler.Default(e => ErrorAction.Unhandled))); }
internal void SetSwfApi(IHeartbeatSwfApi heartbeatApi) { _heartbeatApi = heartbeatApi; }