34 lines
1.1 KiB
C#
34 lines
1.1 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using Nop.Services.ScheduleTasks;
|
|
|
|
namespace Nop.Web.Controllers;
|
|
|
|
//do not inherit it from BasePublicController. otherwise a lot of extra action filters will be called
|
|
//they can create guest account(s), etc
|
|
[AutoValidateAntiforgeryToken]
|
|
public partial class ScheduleTaskController : Controller
|
|
{
|
|
protected readonly IScheduleTaskService _scheduleTaskService;
|
|
protected readonly IScheduleTaskRunner _taskRunner;
|
|
|
|
public ScheduleTaskController(IScheduleTaskService scheduleTaskService,
|
|
IScheduleTaskRunner taskRunner)
|
|
{
|
|
_scheduleTaskService = scheduleTaskService;
|
|
_taskRunner = taskRunner;
|
|
}
|
|
|
|
[HttpPost]
|
|
[IgnoreAntiforgeryToken]
|
|
public virtual async Task<IActionResult> RunTask(string taskType)
|
|
{
|
|
var scheduleTask = await _scheduleTaskService.GetTaskByTypeAsync(taskType);
|
|
if (scheduleTask == null)
|
|
//schedule task cannot be loaded
|
|
return NoContent();
|
|
|
|
await _taskRunner.ExecuteAsync(scheduleTask);
|
|
|
|
return NoContent();
|
|
}
|
|
} |