public CoreApp(IPluginRegistry pluginRegistry, FunctionsEngine functionsEngine, ILoggerFactory loggerFactory, DeviceConfigurationProvider configurationProvider) { _pluginRegistry = pluginRegistry; _functionsEngine = functionsEngine; _log = loggerFactory.CreateLogger <CoreApp>(); _configurationProvider = configurationProvider; _loggerFactory = loggerFactory; }
public async Task ShutdownAsync() { _log.LogTrace("Stop timers"); if (_everyMinuteTimer != null) { _everyMinuteTimer.Dispose(); _everyMinuteTimer = null; } StopWebserver(); if (_functionsEngine != null) { _functionsEngine.Shutdown(); _functionsEngine = null; } if (_pluginRegistry != null) { await _pluginRegistry.TeardownPluginsAsync(); _pluginRegistry = null; } }