你可以通过控制台管理批量处理任务,这篇详细介绍批量处理任务的相关管理操作。
一、筛选任务
你可以通过 List Jobs API 列出近90天内创建的批量处理任务。批量处理任务列表包含每一项批量处理任务的信息,例如任务 ID,任务描述,任务优先级,任务状态和任务执行情况等信息。你可以通过任务状态,从批量处理任务列表中筛选处于相同状态的任务。当你在控制台上进行筛选操作时,也可以通过任务描述或者任务 ID 进行筛选。
二、查询任务状态
例如你需要获取更多有关任务的信息,可以通过 DescribeJob API 获取单个任务的所有信息。这一接口会返回指定任务的操作配置,对象清单信息,任务报告等信息。通过这一接口,你可以了解指定任务的详情。
三、分配任务优先级
你可以为你的任务配置相应的优先级。对象存储(Cloud Object Storage,COS)将根据你所设置的优先级处理你的批量处理任务。高优先级的任务将会被优先执行。优先级以整数型数值表示,级别以降序排列,即数值越大,代表优先级越高。你可以在任务执行过程中修改优先级。如果你在任务执行过程中新增了一项优先级更高的任务,你可以通过暂停低优先级的任务以执行高优先级的任务。
注意:尽管高优先级的批量处理任务通常比低优先级的任务优先执行,但优先级并不作为顺序执行的一项标准。如果你需要配置多项批量处理任务依次执行,请自行监测各项任务的执行状态以实现此目的。
四、任务状态
当你创建一项任务后,任务状态将会在以下几项状态中切换。状态切换图如下所示:
下表详细介绍了不同任务状态的含义。
| 任务状态 | 描述 | 下一状态 |
| New | 当一项任务刚被创建时,任务的状态即为 New。 | 可转换至 Preparing,代表 COS 开始解析你任务中的清单。 |
| Preparing | COS 开始解析批量处理任务中配置的清单及其他信息时,任务的状态即 Preparing。 | 可转换至 Ready 状态或者 Suspended 状态。转换至 Ready 状态代表你的批量处理任务配置信息已由 COS 解析完毕,COS 即将根据你的配置对清单中的对象执行指定操作。转换至 Suspended 状态代表你的批量处理任务配置信息已由 COS 解析完毕,但 COS 仍需要你的确认才可执行。这一状态在控制台配置批量处理任务时出现。 |
| Suspended | 批量处理任务需要等候你的确认才可以执行,这种待确认的状态即 Suspended ,这一状态是在控制台上创建任务时产生。当经过你确认,COS 开始执行任务时,这一状态切换到下一状态,且不会再转换为该状态。 | 当你确认执行任务时,任务状态会切换为 Ready。 |
| Ready | COS 解析完你批量处理任务中的对象清单和任务配置信息,即将执行批量处理任务时,任务状态为 Ready。 | 可转换至 Active 状态,此时 COS 开始执行任务。如果你有更高优先级的任务正在执行中,那么 COS 将保持你的任务状态为 Ready ,直到高优先级的任务状态转换为 Complete。 |
| Active | COS 正在根据你批量处理任务中配置的信息对清单中的对象进行操作时,任务状态为 Active,你可以通过控制台或者调用 DescribeJob API 等方式查询任务进展。 | 可转换至 Complete、Failing、Pausing 或者 Cancelling 等状态。当你的任务成功结束或者失败时,或者由于你的中止命令,例如取消任务时,状态会根据具体的原因进行切换。 |
| Pausing | COS 中断正在处理的批量处理任务,切换至 Paused 的中间状态即 Pausing。 | 可切换至 Paused 状态。当 COS 确保已中止你正在执行的批量处理任务时,状态即切换至 Paused。 |
| Paused | 当你创建一项更高优先级的批量处理任务时,你当前正在执行的批量处理任务将会被切换至 Paused 状态。 | 当一项高优先级的任务完成、失败或者等待确认时,Paused 状态的任务可自行切换至 Active 状态。 |
| Complete | 当批量处理任务已成功完成所有清单内对象的批量操作或者失败时,任务状态切换为 Complete。如你配置了生成任务报告,COS 将在任务状态切换为Complete 时向你指定存储桶中投递任务报告。 | Complete 状态是最终状态,当一项任务切换 Complete 状态时,将不再切换至其他状态。 |
| Cancelling | COS 取消正在处理的批量处理任务,切换至 Cancelled 的中间状态即 Cancelling。 | 可切换至 Cancelled 状态。当 COS 确保已取消你正在执行的批量处理任务时,状态即切换至 Cancelled。 |
| Cancelled | 当批量处理任务已被成功取消时,任务状态为 Cancelled,此时你将无法对任务状态进行任何修改。 | Cancelled 状态是最终状态,当一项任务切换 Cancelled 状态时,将不再切换至其他状态。 |
| Failing | COS 切换至 Failed 的中间状态即 Failing。 | 可切换至 Failed 状态。 |
| Failed | 任务失败时,任务状态即 Failed 。有关任务失败的详细信息,可参见 跟踪失败任务。 | Failed 状态是最终状态,当一项任务切换 Failed 状态时,将不再切换至其他状态。 |
五、跟踪失败任务
如果批量处理任务执行过程中遇到问题,例如无法成功解析对象清单,则批量处理任务执行失败,COS 将返回相应的错误码及错误原因。COS 将为你保存任务失败原因,你可以通过 DescribeJob API 获取任务失败的详细信息。你也可以通过任务报告获取有关任务失败的原因及其他相关信息。
COS 为每一项批量处理任务提供了操作失败阈值以避免你创建的任务中出现大量失败操作。当一项任务中存在1000个以上的操作时,COS 将会监控操作失败率。任意时刻下,操作失败率(当前执行的失败操作除以全部已执行的操作数)超过50%的阈值时,COS 将会终止任务并返回失败状态。你可以自行筛查导致操作失败率超过阈值的原因,如在对象清单中包含了大量不存在的对象信息,修复错误后重新创建任务。
注意:COS 批量处理任务以异步方式运行,并且对对象的操作不一定按清单中列出的对象顺序执行。因此,你不能依据对象清单中的对象顺序来判断任务是否已经操作到某个对象,并据此判断操作的成功或者失败情况。但你可以从任务报告中获取操作的成功或者失败信息。
六、任务报告
你在创建任务时可以配置是否输出任务报告,如果你配置了输出任务报告,COS 将在任务成功、失败或者被取消时输出一份报告,你可以在这份报告上查询到任务涉及的所有成功或失败操作情况。
任务报告包含任务指定操作的配置参数、执行状态等信息,此外还包括被处理对象的对象名、版本 ID、操作状态码和错误描述等内容。
任务报告生成后,将投递至你所指定的存储桶或具体路径下,任务报告所在的路径格式如下:
# 路径格式{报告投递存储桶}/{报告投递前缀}/job-{批量任务ID}/results/csv文件# 示例examplebucket-1250000000/batch-report/job-84773273-c802-4599-b451-956992d38d04/results/cMjVlBJEuXFLwzOOKVmxSEuDCQtOeclLHYnxeKfPCADtiudozgVFfwzUlPbXXXX.csv