mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-26 01:25:42 -05:00
fixed couple of issues in task service (#377)
This commit is contained in:
@@ -4,6 +4,8 @@
|
||||
//
|
||||
|
||||
|
||||
using Microsoft.SqlTools.ServiceLayer.Hosting;
|
||||
|
||||
namespace Microsoft.SqlTools.ServiceLayer.TaskServices.Contracts
|
||||
{
|
||||
public class TaskInfo
|
||||
@@ -34,6 +36,17 @@ namespace Microsoft.SqlTools.ServiceLayer.TaskServices.Contracts
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Provider Name
|
||||
/// </summary>
|
||||
public string ProviderName
|
||||
{
|
||||
get
|
||||
{
|
||||
return ServiceHost.ProviderName;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Task description
|
||||
/// </summary>
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Microsoft.SqlTools.ServiceLayer.TaskServices.Contracts
|
||||
{
|
||||
public static readonly
|
||||
EventType<TaskInfo> Type =
|
||||
EventType<TaskInfo>.Create("task/newtaskcreated");
|
||||
EventType<TaskInfo>.Create("tasks/newtaskcreated");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -24,6 +24,6 @@ namespace Microsoft.SqlTools.ServiceLayer.TaskServices.Contracts
|
||||
{
|
||||
public static readonly
|
||||
EventType<TaskProgressInfo> Type =
|
||||
EventType<TaskProgressInfo>.Create("task/statuschanged");
|
||||
EventType<TaskProgressInfo>.Create("tasks/statuschanged");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace Microsoft.SqlTools.ServiceLayer.TaskServices
|
||||
public class SqlTask : IDisposable
|
||||
{
|
||||
private bool isCompleted;
|
||||
private bool isCanceled;
|
||||
private bool isCancelRequested;
|
||||
private bool isDisposed;
|
||||
private readonly object lockObject = new object();
|
||||
private readonly List<TaskMessage> messages = new List<TaskMessage>();
|
||||
@@ -114,18 +114,18 @@ namespace Microsoft.SqlTools.ServiceLayer.TaskServices
|
||||
/// Setting this to True will not change the Slot status.
|
||||
/// Setting the Slot status to Canceled will set this to true.
|
||||
/// </summary>
|
||||
public bool IsCanceled
|
||||
public bool IsCancelRequested
|
||||
{
|
||||
get
|
||||
{
|
||||
return isCanceled;
|
||||
return isCancelRequested;
|
||||
}
|
||||
private set
|
||||
{
|
||||
if (isCanceled != value)
|
||||
if (isCancelRequested != value)
|
||||
{
|
||||
isCanceled = value;
|
||||
OnTaskCanceled();
|
||||
isCancelRequested = value;
|
||||
OnTaskCancelRequested();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -221,9 +221,9 @@ namespace Microsoft.SqlTools.ServiceLayer.TaskServices
|
||||
throw new NotSupportedException("IsCompleted is not determined for status: " + status);
|
||||
}
|
||||
|
||||
if (status == SqlTaskStatus.Canceled)
|
||||
if (status == SqlTaskStatus.Canceled && !isCancelRequested)
|
||||
{
|
||||
IsCanceled = true;
|
||||
IsCancelRequested = true;
|
||||
}
|
||||
|
||||
OnStatusChanged();
|
||||
@@ -251,7 +251,7 @@ namespace Microsoft.SqlTools.ServiceLayer.TaskServices
|
||||
/// </summary>
|
||||
public void Cancel()
|
||||
{
|
||||
IsCanceled = true;
|
||||
IsCancelRequested = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -308,11 +308,11 @@ namespace Microsoft.SqlTools.ServiceLayer.TaskServices
|
||||
{
|
||||
return new TaskInfo
|
||||
{
|
||||
TaskId = this.TaskId.ToString(),
|
||||
DatabaseName = TaskMetadata.DatabaseName,
|
||||
ServerName = TaskMetadata.ServerName,
|
||||
Name = TaskMetadata.Name,
|
||||
Description = TaskMetadata.Description,
|
||||
TaskId = TaskId.ToString()
|
||||
};
|
||||
}
|
||||
|
||||
@@ -366,7 +366,7 @@ namespace Microsoft.SqlTools.ServiceLayer.TaskServices
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTaskCanceled()
|
||||
private void OnTaskCancelRequested()
|
||||
{
|
||||
var handler = TaskCanceled;
|
||||
if (handler != null)
|
||||
|
||||
Reference in New Issue
Block a user