use of com.enonic.xp.task.TaskId in project xp by enonic.
the class TaskServiceImplTest method submitTask_DescriptorKey_offload_to_clustered_wait_success.
@Test
void submitTask_DescriptorKey_offload_to_clustered_wait_success() {
final DescriptorKey descriptorKey = DescriptorKey.from("module:my-admin-tool");
final TaskManager clusteredTaskManager = mock(TaskManager.class);
when(taskConfig.distributable_acceptInbound()).thenReturn(false);
taskService.activate(taskConfig);
CompletableFuture.runAsync(() -> taskService.setClusteredTaskManager(clusteredTaskManager), CompletableFuture.delayedExecutor(1, TimeUnit.SECONDS));
final TaskId taskId = taskService.submitTask(SubmitTaskParams.create().descriptorKey(descriptorKey).build());
verify(clusteredTaskManager).submitTask(describedTaskCaptor.capture());
describedTaskCaptor.getValue();
final DescribedTask argument = describedTaskCaptor.getValue();
assertEquals(taskId, argument.getTaskId());
}
use of com.enonic.xp.task.TaskId in project xp by enonic.
the class SchedulerServiceImplTest method modifyClearLastRun.
@Test
void modifyClearLastRun() throws Exception {
final ScheduledJobName name = ScheduledJobName.from("test");
adminContext().callWith(() -> schedulerService.create(CreateScheduledJobParams.create().name(name).descriptor(DescriptorKey.from(ApplicationKey.from("com.enonic.app.test"), "task1")).calendar(calendarService.cron("* * * * *", TimeZone.getTimeZone("GMT+5:30"))).config(new PropertyTree()).build()));
final TaskId lastTaskId = TaskId.from("task-id");
final Instant lastRun = Instant.parse("2021-02-25T10:44:33.170079900Z");
adminContext().runWith(() -> UpdateLastRunCommand.create().name(name).lastTaskId(lastTaskId).lastRun(lastRun).nodeService(nodeService).build().execute());
final ScheduledJob runJob = adminContext().callWith(() -> schedulerService.get(name));
assertEquals(lastRun, runJob.getLastRun());
assertEquals(lastTaskId, runJob.getLastTaskId());
final ScheduledJob modifiedJob = adminContext().callWith(() -> schedulerService.modify(ModifyScheduledJobParams.create().name(name).editor(edit -> {
edit.enabled = true;
}).build()));
assertNull(modifiedJob.getLastRun());
assertNull(modifiedJob.getLastTaskId());
}
use of com.enonic.xp.task.TaskId in project xp by enonic.
the class SubmitTaskHandlerTest method testExample.
@Test
void testExample() {
final TaskId taskId = TaskId.from("7ca603c1-3b88-4009-8f30-46ddbcc4bb19");
Mockito.when(this.taskService.submitTask(any(SubmitTaskParams.class))).thenReturn(taskId);
runScript("/lib/xp/examples/task/submitTask.js");
}
use of com.enonic.xp.task.TaskId in project xp by enonic.
the class ExecuteFunctionHandlerTest method testExample.
@Test
public void testExample() {
final TaskId taskId = TaskId.from("7ca603c1-3b88-4009-8f30-46ddbcc4bb19");
Mockito.when(this.taskService.submitTask(any(RunnableTask.class), anyString())).thenReturn(taskId);
runScript("/lib/xp/examples/task/executeFunction.js");
}
use of com.enonic.xp.task.TaskId in project xp by enonic.
the class SchedulableTaskImpl method run.
@Override
public void run() {
try {
final TaskId taskId = taskContext().callWith(() -> OsgiSupport.withService(TaskService.class, taskService -> taskService.submitTask(SubmitTaskParams.create().descriptorKey(job.getDescriptor()).data(job.getConfig()).build())));
adminContext().runWith(() -> OsgiSupport.withService(NodeService.class, nodeService -> UpdateLastRunCommand.create().nodeService(nodeService).name(job.getName()).lastRun(Instant.now()).lastTaskId(taskId).build().execute()));
} catch (Exception e) {
LOG.warn("Error while running job [{}]", this.job.getName(), e);
} catch (Throwable t) {
LOG.error("Error while running job [{}], no further attempts will be made", this.job.getName(), t);
throw t;
}
}
Aggregations