fix update level migration

This commit is contained in:
Luke Pulverenti 2016-09-30 23:41:50 -04:00
parent 5309f9d2bb
commit b1b0438d05
4 changed files with 16 additions and 10 deletions

View file

@ -310,11 +310,16 @@ namespace MediaBrowser.Server.Startup.Common
LogManager.ExceptionMessagePrefix = builder.ToString();
}
/// <summary>
/// Runs the startup tasks.
/// </summary>
/// <summary>
/// Runs the startup tasks.
/// </summary>
public override async Task RunStartupTasks()
{
await PerformPreInitMigrations().ConfigureAwait(false);
if (ServerConfigurationManager.Configuration.MigrationVersion < CleanDatabaseScheduledTask.MigrationVersion &&
ServerConfigurationManager.Configuration.IsStartupWizardCompleted)
{
@ -345,6 +350,7 @@ namespace MediaBrowser.Server.Startup.Common
{
var name = entryPoint.GetType().FullName;
Logger.Info("Starting entry point {0}", name);
var now = DateTime.UtcNow;
try
{
entryPoint.Run();
@ -353,7 +359,7 @@ namespace MediaBrowser.Server.Startup.Common
{
Logger.ErrorException("Error in {0}", ex, name);
}
Logger.Info("Entry point completed: {0}", name);
Logger.Info("Entry point completed: {0}. Duration: {1} seconds", name, (DateTime.UtcNow - now).TotalSeconds.ToString(CultureInfo.InvariantCulture));
}
Logger.Info("All entry points have started");
@ -365,23 +371,21 @@ namespace MediaBrowser.Server.Startup.Common
HttpPort = ServerConfigurationManager.Configuration.HttpServerPortNumber;
HttpsPort = ServerConfigurationManager.Configuration.HttpsPortNumber;
PerformPreInitMigrations();
return base.Init(progress);
}
private void PerformPreInitMigrations()
private async Task PerformPreInitMigrations()
{
var migrations = new List<IVersionMigration>
{
new UpdateLevelMigration(ServerConfigurationManager, this, HttpClient, JsonSerializer, _releaseAssetFilename)
new UpdateLevelMigration(ServerConfigurationManager, this, HttpClient, JsonSerializer, _releaseAssetFilename, Logger)
};
foreach (var task in migrations)
{
try
{
task.Run();
await task.Run().ConfigureAwait(false);
}
catch (Exception ex)
{

View file

@ -16,7 +16,7 @@ namespace MediaBrowser.Server.Startup.Common.Migrations
_taskManager = taskManager;
}
public void Run()
public async Task Run()
{
// If a forced migration is required, do that now
if (_config.Configuration.MigrationVersion < CleanDatabaseScheduledTask.MigrationVersion)

View file

@ -1,8 +1,9 @@

using System.Threading.Tasks;
namespace MediaBrowser.Server.Startup.Common.Migrations
{
public interface IVersionMigration
{
void Run();
Task Run();
}
}

View file

@ -1,5 +1,6 @@
using MediaBrowser.Controller.Configuration;
using System.Linq;
using System.Threading.Tasks;
namespace MediaBrowser.Server.Startup.Common.Migrations
{
@ -13,7 +14,7 @@ namespace MediaBrowser.Server.Startup.Common.Migrations
_config = config;
}
public void Run()
public async Task Run()
{
var migrationKey = this.GetType().FullName;
var migrationKeyList = _config.Configuration.Migrations.ToList();