コード例 #1
0
        public async Task <object> GetTaskTrace(string grain, TaskTraceEnum type)
        {
            switch (type)
            {
            case TaskTraceEnum.No:
                break;

            case TaskTraceEnum.TaskExec:
                return(await GetExcuterTaskTraceAsync(grain).ConfigureAwait(true));

            case TaskTraceEnum.TaskCache:
                return(await GetChacheTaskTraceAsync());

            case TaskTraceEnum.Device:
                return(await GetDeviceTraceAsync());

            case TaskTraceEnum.TaskSchedule:
            {
                var info = grain.Split(":");
                if (info.Length > 1 && GrainFactory != null)
                {
                    var graininfo = GrainFactory.GetGrain <IScheduleTaskGrain>(int.Parse(info.ElementAt(1)));
                    if (graininfo != null)
                    {
                        return(await graininfo.GetTaskListAsync());
                    }
                }
            } break;

            default:
                break;
            }
            return(null);
        }
コード例 #2
0
 public TraceGrainAttribute(string name, TaskTraceEnum type)
 {
     if (!_RecordClass.ContainsKey(name))
     {
         _RecordClass.Add(name, type);
     }
 }
コード例 #3
0
        public static TaskTraceEnum GetRecordTrace(string key)
        {
            TaskTraceEnum value = TaskTraceEnum.No;

            if (_RecordClass.TryGetValue(key, out value))
            {
                return(value);
            }
            return(value);
        }