|  | @@ -1,14 +1,12 @@
 | 
	
		
			
				|  |  |  using System;
 | 
	
		
			
				|  |  |  using System.Collections.Concurrent;
 | 
	
		
			
				|  |  |  using System.Collections.Generic;
 | 
	
		
			
				|  |  | -using System.IO;
 | 
	
		
			
				|  |  |  using System.Linq;
 | 
	
		
			
				|  |  |  using System.Threading.Tasks;
 | 
	
		
			
				|  |  |  using MediaBrowser.Common.Configuration;
 | 
	
		
			
				|  |  |  using MediaBrowser.Model.Events;
 | 
	
		
			
				|  |  |  using MediaBrowser.Model.IO;
 | 
	
		
			
				|  |  |  using MediaBrowser.Model.Serialization;
 | 
	
		
			
				|  |  | -using MediaBrowser.Model.System;
 | 
	
		
			
				|  |  |  using MediaBrowser.Model.Tasks;
 | 
	
		
			
				|  |  |  using Microsoft.Extensions.Logging;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -74,38 +72,6 @@ namespace Emby.Server.Implementations.ScheduledTasks
 | 
	
		
			
				|  |  |              ScheduledTasks = new IScheduledTaskWorker[] { };
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        private void RunStartupTasks()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            var path = Path.Combine(ApplicationPaths.CachePath, "startuptasks.txt");
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            // ToDo: Fix this shit
 | 
	
		
			
				|  |  | -            if (!File.Exists(path))
 | 
	
		
			
				|  |  | -                return;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            List<string> lines;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            try
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                lines = File.ReadAllLines(path).Where(i => !string.IsNullOrWhiteSpace(i)).Distinct(StringComparer.OrdinalIgnoreCase).ToList();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                foreach (var key in lines)
 | 
	
		
			
				|  |  | -                {
 | 
	
		
			
				|  |  | -                    var task = ScheduledTasks.FirstOrDefault(i => string.Equals(i.ScheduledTask.Key, key, StringComparison.OrdinalIgnoreCase));
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                    if (task != null)
 | 
	
		
			
				|  |  | -                    {
 | 
	
		
			
				|  |  | -                        QueueScheduledTask(task, new TaskOptions());
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                _fileSystem.DeleteFile(path);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            catch
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                return;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  |          /// Cancels if running and queue.
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
	
		
			
				|  | @@ -247,14 +213,9 @@ namespace Emby.Server.Implementations.ScheduledTasks
 | 
	
		
			
				|  |  |          /// <param name="tasks">The tasks.</param>
 | 
	
		
			
				|  |  |          public void AddTasks(IEnumerable<IScheduledTask> tasks)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            var myTasks = ScheduledTasks.ToList();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            var list = tasks.ToList();
 | 
	
		
			
				|  |  | -            myTasks.AddRange(list.Select(t => new ScheduledTaskWorker(t, ApplicationPaths, this, JsonSerializer, Logger, _fileSystem)));
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            ScheduledTasks = myTasks.ToArray();
 | 
	
		
			
				|  |  | +            var list = tasks.Select(t => new ScheduledTaskWorker(t, ApplicationPaths, this, JsonSerializer, Logger, _fileSystem));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            RunStartupTasks();
 | 
	
		
			
				|  |  | +            ScheduledTasks = ScheduledTasks.Concat(list).ToArray();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 |