public void Initialize() { lock (_SyncRoot) { if (_TaskPersistenceSettings == null) { _TaskPersistenceSettings = Supervisor.Configuration.TaskPersistenceSettings; _PersistenceProvider = _TaskPersistenceSettings.CreateProvider(); _PersistenceProvider.Open(_TaskPersistenceSettings.ConnectionString); _AwaitingTaskCollection.Clear(); if (_PersistenceProvider is NullTaskPersistenceProvider) { Supervisor.LogEvent("No task persistence provider has been configured. Awaiting tasks will be lost when the service is shut down.", TraceEventType.Information); } else { int recoveredTasks = RecoverTasks(); if (recoveredTasks > 0) { Supervisor.LogEvent(string.Format("Recovered {0:#,##0} tasks from storage.", recoveredTasks), TraceEventType.Information); } } } } }
public static void DumpToConsole() { var taskList = new SortedList <RevaleeTask, RevaleeTask>(); TaskPersistenceSettings persistenceSettings; var config = new ConfigurationManager(); persistenceSettings = config.TaskPersistenceSettings; // Load persisted tasks from the persistence provider ITaskPersistenceProvider persistenceProvider = persistenceSettings.CreateProvider(); if (persistenceProvider is NullTaskPersistenceProvider) { Console.WriteLine("WARNING: Exporting tasks is not available, because there is no configured task persistence provider."); return; } try { persistenceProvider.Open(persistenceSettings.ConnectionString); foreach (RevaleeTask task in persistenceProvider.ListAllTasks()) { taskList.Add(task, task); } } finally { persistenceProvider.Close(); } // Write to the console foreach (RevaleeTask task in taskList.Values) { Console.WriteLine(string.Format(CultureInfo.InvariantCulture, "{0:s}Z {1}", task.CallbackTime, task.CallbackUrl.OriginalString)); } }