LMS.service/LMS.Tools/MJPackage/ITaskConcurrencyManager.cs

20 lines
665 B
C#
Raw Normal View History

using LMS.Repository.DB;
namespace LMS.Tools.MJPackage
{
// Services/ITaskConcurrencyManager.cs
public interface ITaskConcurrencyManager
{
Task CreateTaskAsync(string token, string thirdPartyTaskId);
Task UpdateTaskInDatabase(MJApiTasks mJApiTasks);
Task<MJApiTasks> GetTaskInfoAsync(string taskId);
Task<MJApiTasks> GetTaskInfoByThirdPartyIdAsync(string taskId);
Task<IEnumerable<MJApiTasks>> GetRunningTasksAsync(string token = null);
Task<(int maxConcurrency, int running, int available)> GetConcurrencyStatusAsync(string token);
Task CleanupTimeoutTasksAsync(TimeSpan timeout);
}
}