예제 #1
0
 public IActionResult Post([FromBody] ParseTaskDescriptor descriptor)
 {
     if (_taskRunner.TasksView.Any(t => t.IsRunning))
     {
         descriptor.SetError("Операция по скачиванию дневника уже выполняется");
         return(Json(descriptor));
     }
     _taskRunner.AddTask(descriptor);
     return(Json(descriptor));
 }
예제 #2
0
        public DiaryParser GetParser(ParseTaskDescriptor descriptor)
        {
            var options = new DiaryParserOptions();

            options.DiaryDir = descriptor.WorkingDir;
            var cfg    = ConfigureLog(descriptor.WorkingDir);
            var logger = _serviceProvider.GetRequiredService <ILogger <DiaryParser> >();

            descriptor.Parser = new DiaryParser(options, logger);
            descriptor.Parser.WorkFinished += (s, e) => {
                UnsetLog(cfg);
            };

            return(descriptor.Parser);
        }