Skip to content

Latest commit

 

History

History
101 lines (86 loc) · 3.3 KB

File metadata and controls

101 lines (86 loc) · 3.3 KB
Juice client sdk采用java1.8编写,Maven依赖:
<dependency>
    <groupId>com.hujiang</groupId>
    <artifactId>juice-client-sdk</artifactId>
    <version>1.0-OPEN</version>
</dependency>
提交一个Docker任务
@Test
public void submitsDocker() {
    Submits submitsDocker = Submits.create()
            .setDockerImage("dockerhub.XXXX.com/demo-slice")
            .setTaskName("demo-slice")
            .addArgs("/10002/res/L2.mp4")
            .addEnv("environment", "dev")
            .addResources(2.0, 2048.0);
 
    Long taskId = JuiceClient.create(“http://your-juice-rest-host", "your-system-id-in-string")
            .setOperations(submitsDocker)
            .handle();
 
    if(null != taskId) {
        System.out.println("submitsDocker, taskId --> " + taskId);
    }
}
提交一个Commands任务
@Test
public void submitsCommands() {
    Submits submitsCommands = Submits.create()
            .setCommands("/home/app/commands-test/entrypoint.sh")
            .setTaskName("test-commands")
            .addConstraints(Constraints.FIELD.HOSTNAME, "192.168.0.1")           //   Constraints目前支持2种约束模式,hostname/rack_id
            .addConstraints(Constraints.FIELD.HOSTNAME, "192.168.0.2")           //   当选用HOSTNAME模式时,juice会从符合的N个HOSTNAME中选取一个执行任务       
            .addConstraints(Constraints.FIELD.HOSTNAME, "192.168.0.3")           //   当选用RACK_ID模式时,juice会从符合该rack_id的Agent中选取一个执行任务,关于rack_id需要在mesos上设置attribute.
            .addResources(0.5, 256.0);
 
    Long taskId = JuiceClient.create(“http://your-juice-rest-host", "your-system-id-in-string")
            .setOperations(submitsCommands)
            .handle();
 
    if(null != taskId) {
        System.out.println("submitsCommands, taskId --> " + taskId);
    }
}
查询任务状态
@Test
public void querys() {
    Querys querys = Querys.create()
                .addTask(832419514512333559L);
    List tasks = JuiceClient.create(“http://your-juice-rest-host", "your-system-id-in-string")
                .setOperations(querys)
                .handle();
     
    if (null != tasks && tasks.size() > 0) {
        System.out.println("query tasks : "
            + tasks.stream().map(Task::toString).collect(Collectors.joining(",", "{\n\t\t", "\n}")));
    }
}
终止一个正在执行的任务
@Test
public void kills() {
    Kills kills = Kills.create()
            .setTaskId(832419514512333759L);
    TaskKill killed = JuiceClient.create(“http://your-juice-rest-host", "your-system-id-in-string")
                .setOperations(kills)
                .handle();
    if(null != killed) {
        System.out.println("submitsDocker, is killed ? --> " + killed.toString());
    }
}
同步一个任务的状态
@Test
public void reconciles() {
    Reconciles reconciles = Reconciles.create()
                    .addTask(832419514512333759L);
 
    TaskReconcile taskReconcile = JuiceClient.create(“http://your-juice-rest-host", "your-system-id-in-string")
                    .setOperations(reconciles)
                    .handle();
 
    if(null != taskReconcile) {
        System.out.println("reconciles, taskReconcile --> " + taskReconcile);
    }
}