Пример #1
0
        private async Task RunMarked(JobOrder jo, Func <JobOrder, Task <JobResult> > jobToRun)
        {
            if (jo.Started.HasValue)
            {
                return;
            }

            jo.Started = DateTime.Now;
            jo.Result  = null;
            var path = $"{ROOTKEY}/{_conn.AgentID}/{SUBKEY}/{OBSERVABLE}";
            var desc = $"Executing “{jo.Command}”";
            await _conn.UpdateNode(jo, path);

            //await _stateUpdatr.SetRunningTask(_agentId, desc);

            try
            {
                jo.Result = await jobToRun(jo);
            }
            catch (Exception ex)
            {
                jo.Result = JobResult.Fail(desc, ex);
            }

            await _conn.UpdateNode(jo, path);
        }
Пример #2
0
        public Task SetState(string taskDesc, string exeSHA1 = null, string exeVersion = null)
        {
            var exe = CurrentExe.GetFullPath();

            return(_conn.UpdateNode(new AgentState
            {
                RunningTask = taskDesc,
                LastActivity = DateTime.Now,
                ExeSHA1 = exeSHA1 ?? exe.SHA1ForFile(),
                ExeVersion = exeVersion ?? exe.GetVersion(),
            },
                                    NodePath));
        }