change JobTask to SiteTask
This commit is contained in:
@@ -4,7 +4,7 @@ using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Infrastructure
|
||||
{
|
||||
public interface IJobTask
|
||||
public interface ISiteTask
|
||||
{
|
||||
string ExecuteTask(IServiceProvider provider, Site site, string parameters);
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ namespace Oqtane.Infrastructure
|
||||
var visitorRepository = provider.GetRequiredService<IVisitorRepository>();
|
||||
var notificationRepository = provider.GetRequiredService<INotificationRepository>();
|
||||
var urlMappingRepository = provider.GetRequiredService<IUrlMappingRepository>();
|
||||
var siteTaskRepository = provider.GetRequiredService<ISiteTaskRepository>();
|
||||
|
||||
// iterate through sites for current tenant
|
||||
List<Site> sites = siteRepository.GetSites().ToList();
|
||||
@@ -94,6 +95,18 @@ namespace Oqtane.Infrastructure
|
||||
{
|
||||
log += $"Error Purging Broken Urls - {ex.Message}<br />";
|
||||
}
|
||||
|
||||
// purge completed site tasks
|
||||
retention = 30; // 30 day default
|
||||
try
|
||||
{
|
||||
count = siteTaskRepository.DeleteSiteTasks(site.SiteId, retention);
|
||||
log += count.ToString() + " Completed Tasks Purged<br />";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
log += $"Error Purging Completed Site Tasks - {ex.Message}<br />";
|
||||
}
|
||||
}
|
||||
|
||||
return log;
|
||||
|
||||
@@ -7,11 +7,11 @@ using Oqtane.Repository;
|
||||
|
||||
namespace Oqtane.Infrastructure
|
||||
{
|
||||
public class TaskJob : HostedServiceBase
|
||||
public class SiteTaskJob : HostedServiceBase
|
||||
{
|
||||
public TaskJob(IServiceScopeFactory serviceScopeFactory) : base(serviceScopeFactory)
|
||||
public SiteTaskJob(IServiceScopeFactory serviceScopeFactory) : base(serviceScopeFactory)
|
||||
{
|
||||
Name = "Task Job";
|
||||
Name = "Site Task Job";
|
||||
Frequency = "m"; // run every minute
|
||||
Interval = 1;
|
||||
IsEnabled = true;
|
||||
@@ -33,8 +33,8 @@ namespace Oqtane.Infrastructure
|
||||
log += $"Processing Site: {site.Name}<br />";
|
||||
|
||||
// get incomplete tasks for site
|
||||
var jobTaskRepository = provider.GetRequiredService<IJobTaskRepository>();
|
||||
var tasks = jobTaskRepository.GetJobTasks(site.SiteId).ToList();
|
||||
var siteTaskRepository = provider.GetRequiredService<ISiteTaskRepository>();
|
||||
var tasks = siteTaskRepository.GetSiteTasks(site.SiteId).ToList();
|
||||
if (tasks != null && tasks.Any())
|
||||
{
|
||||
foreach (var task in tasks)
|
||||
@@ -42,15 +42,15 @@ namespace Oqtane.Infrastructure
|
||||
log += $"Executing Task: {task.Name}<br />";
|
||||
|
||||
Type taskType = Type.GetType(task.Type);
|
||||
if (taskType != null && taskType.GetInterface(nameof(IJobTask)) != null)
|
||||
if (taskType != null && taskType.GetInterface(nameof(ISiteTask)) != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
tenantManager.SetAlias(tenant.TenantId, site.SiteId);
|
||||
|
||||
var taskObject = ActivatorUtilities.CreateInstance(provider, taskType);
|
||||
var taskLog = ((IJobTask)taskObject).ExecuteTask(provider, site, task.Parameters);
|
||||
taskLog += await ((IJobTask)taskObject).ExecuteTaskAsync(provider, site, task.Parameters);
|
||||
var taskLog = ((ISiteTask)taskObject).ExecuteTask(provider, site, task.Parameters);
|
||||
taskLog += await ((ISiteTask)taskObject).ExecuteTaskAsync(provider, site, task.Parameters);
|
||||
|
||||
task.Status = taskLog;
|
||||
}
|
||||
@@ -66,7 +66,7 @@ namespace Oqtane.Infrastructure
|
||||
|
||||
// update task
|
||||
task.IsCompleted = true;
|
||||
jobTaskRepository.UpdateJobTask(task);
|
||||
siteTaskRepository.UpdateSiteTask(task);
|
||||
|
||||
log += task.Status + "<br />";
|
||||
}
|
||||
@@ -8,7 +8,7 @@ using Oqtane.Repository;
|
||||
|
||||
namespace Oqtane.Infrastructure
|
||||
{
|
||||
public class GlobalReplaceTask : JobTaskBase
|
||||
public class GlobalReplaceTask : SiteTaskBase
|
||||
{
|
||||
public override string ExecuteTask(IServiceProvider provider, Site site, string parameters)
|
||||
{
|
||||
@@ -7,7 +7,7 @@ using Oqtane.Repository;
|
||||
|
||||
namespace Oqtane.Infrastructure
|
||||
{
|
||||
public class ImportUsersTask : JobTaskBase
|
||||
public class ImportUsersTask : SiteTaskBase
|
||||
{
|
||||
public override async Task<string> ExecuteTaskAsync(IServiceProvider provider, Site site, string parameters)
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Infrastructure
|
||||
{
|
||||
public class JobTaskBase : IJobTask
|
||||
public class SiteTaskBase : ISiteTask
|
||||
{
|
||||
public virtual string ExecuteTask(IServiceProvider provider, Site site, string parameters)
|
||||
{
|
||||
Reference in New Issue
Block a user