public SlaveTask(PluginManager pluginManager, int coresNeeded, ILog log) { this.pluginManager = pluginManager; this.coresNeeded = coresNeeded; this.log = log; waitForStartBeforeKillSem = new Semaphore(0, 1); executorMonitoringRun = true; IsPrepared = false; }
public Core() { var log = new ThreadSafeLog(SlaveCore.Properties.Settings.Default.MaxLogCount); this.pluginManager = new PluginManager(WcfService.Instance, log); this.taskManager = new TaskManager(pluginManager, log); log.MessageAdded += new EventHandler<EventArgs<string>>(log_MessageAdded); RegisterTaskManagerEvents(); this.configManager = new ConfigManager(taskManager); ConfigManager.Instance = this.configManager; }
public TaskManager(PluginManager pluginCache, ILog log) { this.pluginManager = pluginCache; this.log = log; this.slaveTasks = new Dictionary<Guid, SnapshotInfo>(); cts = new CancellationTokenSource(); ct = cts.Token; waitHandle = new AutoResetEvent(true); wcfService = WcfService.Instance; checkpointInterval = Settings.Default.CheckpointInterval; checkpointCheckInterval = Settings.Default.CheckpointCheckInterval; System.Threading.Tasks.Task.Factory.StartNew(Checkpointing, ct); }