internal void InitializeInternal() { if (Status != WorkerServiceStatus.NotInitialized) { return; } if (_context == null) { _context = CreateWorkerContext(); } if (Status == WorkerServiceStatus.NotInitialized) { try { _instance.Initialize(_context); Status = WorkerServiceStatus.Sleeping; } catch (Exception ex) { _context.Logger.LogException("Error on initialize service", ex, Priority.High); _errors.Add(ex); Status = WorkerServiceStatus.Faulted; return; } } }
public void Stop() { if (this.Status == WorkerServiceStatus.Faulted) return; if (this.Status == WorkerServiceStatus.Running) this.Status = WorkerServiceStatus.Stopping; else this.Status = WorkerServiceStatus.Stopped; }
internal void ExecuteInternal() { if (Status == WorkerServiceStatus.Stopped || Status == WorkerServiceStatus.Stopping || Status == WorkerServiceStatus.Running || Status == WorkerServiceStatus.Faulted) { return; } if (Status == WorkerServiceStatus.Sleeping) { BackgroundThreadPool.Enqueue(() => { try { Status = WorkerServiceStatus.Running; _instance.Execute(_context); if (Status == WorkerServiceStatus.Running) { Status = WorkerServiceStatus.Sleeping; } else if (Status == WorkerServiceStatus.Stopping) { Status = WorkerServiceStatus.Stopped; } } catch (Exception ex) { _context.Logger.LogException("Error on execute service", ex, Priority.High); _errors.Add(ex); Status = WorkerServiceStatus.Faulted; } }); } }
internal void ExecuteInternal() { if (Status == WorkerServiceStatus.Stopped || Status == WorkerServiceStatus.Stopping || Status == WorkerServiceStatus.Running || Status == WorkerServiceStatus.Faulted) return; if (Status == WorkerServiceStatus.Sleeping) { BackgroundThreadPool.Enqueue(() => { try { Status = WorkerServiceStatus.Running; _instance.Execute(_context); if (Status == WorkerServiceStatus.Running) Status = WorkerServiceStatus.Sleeping; else if (Status == WorkerServiceStatus.Stopping) Status = WorkerServiceStatus.Stopped; } catch (Exception ex) { _context.Logger.LogException("Error on execute service", ex, Priority.High); _errors.Add(ex); Status = WorkerServiceStatus.Faulted; } }); } }
internal void InitializeInternal() { if (Status != WorkerServiceStatus.NotInitialized) return; if (_context == null) _context = CreateWorkerContext(); if (Status == WorkerServiceStatus.NotInitialized) { try { _instance.Initialize(_context); Status = WorkerServiceStatus.Sleeping; } catch (Exception ex) { _context.Logger.LogException("Error on initialize service", ex, Priority.High); _errors.Add(ex); Status = WorkerServiceStatus.Faulted; return; } } }