Pipeline队列
更新时间:2022-01-10
队列分为免费型与专享型:
- 免费型队列中的转码任务分享百度智能云为音视频转码所提供的约400路720P转码计算资源。
- 专享型队列需额外采购,以便更好的满足那些对于转码时效性和稳定性有更高要求的用户的业务需求。
用户可以利用队列实现任务优先级。用户通过创建多个队列达到区分任务优先级的目的,将大部分任务创建至普通优先级队列,将高优的任务放入高优先级的队列,以利用队列先到先服务的工作原理来实现任务的优先级调整。
新建Pipeline
如下代码可以新建一个Pipeline,默认的capacity值为20:
Java
1public void createPipeline (MediaClient client, String pipelineName,
2 String sourceBucket, String targetBucket, int capacity) {
3 // 新建一个Pipeline
4 client.createPipeline(pipelineName, sourceBucket, targetBucket, capacity);
5}
列出全部Pipeline
如下代码可以列出用户所有的Pipeline:
Java
1public void listPipelines (MediaClient client) {
2 // 获取用户的Pipeline列表
3 List<PipelineStatus> list = client.listPipelines().getPipelines();
4
5 // 遍历Pipeline列表
6 for (PipelineStatus pipeline : list) {
7 System.out.println(pipeline);
8 }
9}
查询指定的Pipeline
若只是查询某个Pipeline,则使用如下代码:
Java
1public void getPipeline (MediaClient client, String pipelineName) {
2 GetPipelineResponse pipeline = client.getPipeline(pipelineName);
3 System.out.println(pipeline);
4}
删除Pipeline
如下代码可以删除一个Pipeline:
Java
1public void deletePipeline (MediaClient client, String pipelineName) {
2 // 删除Pipeline
3 client.deletePipeline(pipelineName);
4}
需要注意的是,如果Pipeline有关联的Job未完成,则Pipeline无法被删除,必须等Job执行结束后才能成功删除。
更新指定的Pipeline
更新指定pipeline的capacity:
Java
1public void updatePipeline (MediaClient client, String pipelineName, Integer capacity) {
2 PipelineStatus pipeline = client.getPipeline(pipelineName).getPipeline();
3 pipeline.getConfig().setCapacity(capacity);
4 client.updatePipeline(new UpdatePipelineRequest().withPipeline(pipeline));
5}
更新其他字段类似写法