public void WorkerTaskFinished(uint taskId, string jobName, EGridJobTaskState state) { if (_activeTask.ParentJob.Name == jobName && _activeTask.TaskId == taskId) { _activeTask.State = state; var localSaved = _tempReceivedFiles.FirstOrDefault(x => x.Direction == EGridJobFileDirection.WorkerOutput && x.ShareMode == EGridJobFileShare.PerEachTask); if (localSaved != null) { _activeTask.OutputFile = new GridJobFile { Bytes = localSaved.Bytes, CheckSum = localSaved.CheckSum, FileName = localSaved.FileName, Direction = EGridJobFileDirection.WorkerOutput, ShareMode = EGridJobFileShare.PerEachTask }; } IsAcceptingNewTasks = !_isDisconnecting; Logger.Info($"Worker {this} finish task {_activeTask}"); return; } Logger.Warn($"Worker {this} finish not own active task '{_activeTask}', something went wrong (response: [taskId={taskId}, jobName={jobName}])"); }
public void Read(PacketBuffer buffer) { _taskId = buffer.ReadUInt32(); _jobName = buffer.ReadString(); _jobState = (EGridJobTaskState)buffer.ReadInt16(); }
public PacketWorkerTaskFinish(GridJobTask task) { _taskId = task.TaskId; _jobName = task.ParentJob.Name; _jobState = task.State; }