5 changed files with 135 additions and 10 deletions
-
7src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTask.java
-
30src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskBase.java
-
71src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskExecutor.java
-
36src/src/main/java/com/my/graphiteDigesterBg/diframe/api/ApiTask.java
-
1src/src/main/java/com/my/graphiteDigesterBg/task/TaskDigestion.java
@ -1,8 +1,13 @@ |
|||||
package com.my.graphiteDigesterBg.diframe; |
package com.my.graphiteDigesterBg.diframe; |
||||
public interface DiTask { |
public interface DiTask { |
||||
|
// task status |
||||
|
enum TaskStatus { NEW, RUNNING, FINISHED, CANCELLED, WAITING, READY } |
||||
|
// get status |
||||
|
TaskStatus getStatus(); |
||||
|
// get UUID |
||||
|
String getUUID(); |
||||
// set parameter |
// set parameter |
||||
void setParameter(Object parameter); |
void setParameter(Object parameter); |
||||
|
|
||||
// run |
// run |
||||
void run(); |
void run(); |
||||
} |
} |
@ -1,4 +1,36 @@ |
|||||
package com.my.graphiteDigesterBg.diframe.api; |
package com.my.graphiteDigesterBg.diframe.api; |
||||
public class ApiTask { |
|
||||
public void append( String name, Object params ) {} |
|
||||
|
import com.my.graphiteDigesterBg.diframe.*; |
||||
|
import jakarta.annotation.Resource; |
||||
|
import org.springframework.stereotype.Controller; |
||||
|
import org.springframework.web.bind.annotation.PostMapping; |
||||
|
import org.springframework.web.bind.annotation.RequestBody; |
||||
|
import org.springframework.web.bind.annotation.ResponseBody; |
||||
|
import java.util.Map; |
||||
|
@Controller |
||||
|
public class ApiTask extends DiApiControllerBase { |
||||
|
@Resource |
||||
|
private DiDevice device; |
||||
|
|
||||
|
/** |
||||
|
* append a task to task manager |
||||
|
* @param params task params |
||||
|
* <li>- name: task name</li> |
||||
|
* <li>- params: task params</li> |
||||
|
* @return response |
||||
|
*/ |
||||
|
@ResponseBody |
||||
|
@PostMapping("/api/task/append") |
||||
|
public DiApiResponse append(@RequestBody Map<String,Object> params) { |
||||
|
DiTaskExecutor executor = this.device.getTaskManager().getExecutor(); |
||||
|
if ( null == executor ) { |
||||
|
return this.error("task executor is not running"); |
||||
|
} |
||||
|
|
||||
|
String name = (String)params.get("name"); |
||||
|
Object taskParams = params.get("parameter"); |
||||
|
DiTaskManager taskManager = this.device.getTaskManager(); |
||||
|
DiTask task = taskManager.generateTask(name, taskParams); |
||||
|
executor.appendTask(task); |
||||
|
return this.success(); |
||||
|
} |
||||
} |
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue