From 41c547bf163c2c046365ff94b7b38012b6931277 Mon Sep 17 00:00:00 2001 From: Patrick Simpson Date: Tue, 25 Sep 2018 12:28:26 +0300 Subject: [PATCH] [KOE-176] Additional logging for task execution --- .../AcaciaZPushPlugin/Utils/Tasks.cs | 10 ++++++++++ .../Utils/TasksBackground.cs | 19 ++++++++++++++++--- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Utils/Tasks.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Utils/Tasks.cs index c10c6e2..ecce292 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Utils/Tasks.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Utils/Tasks.cs @@ -71,6 +71,11 @@ namespace Acacia.Utils } } + public override string ToString() + { + return Id; + } + } public abstract class TaskExecutor @@ -136,8 +141,13 @@ namespace Acacia.Utils public static void Task(AcaciaTask task, bool synchronous = false) { + Logger.Instance.Debug(typeof(Tasks), "TASK added: {0}", task); if (synchronous) + { + Logger.Instance.Debug(typeof(Tasks), "TASK exec synchronous 1: {0}", task); task.Execute(); + Logger.Instance.Debug(typeof(Tasks), "TASK exec synchronous 2: {0}", task); + } else Executor.AddTask(task); } diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Utils/TasksBackground.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Utils/TasksBackground.cs index 98acf58..8d5fbca 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Utils/TasksBackground.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Utils/TasksBackground.cs @@ -38,16 +38,29 @@ namespace Acacia.Utils private void Worker() { - while (!_tasks.IsCompleted) + try { - AcaciaTask task = _tasks.Take(); - PerformTask(task); + while (!_tasks.IsCompleted) + { + Logger.Instance.Debug(this, "Take task 1"); + AcaciaTask task = _tasks.Take(); + Logger.Instance.Debug(this, "Take task 2: {0}", task); + PerformTask(task); + Logger.Instance.Debug(this, "Take task 3: {0}", task); + } + Logger.Instance.Debug(this, "Worker completed"); + } + catch(Exception e) + { + Logger.Instance.Debug(this, "Worker failure: {0}", e); } } protected override void EnqueueTask(AcaciaTask task) { + Logger.Instance.Debug(this, "EnqueueTask 1: {0}", task); _tasks.Add(task); + Logger.Instance.Debug(this, "EnqueueTask 2: {0}", task); } override public string Name { get { return "Background"; } }