Недавно я работал с Amazon Web Services (AWS) и заметил, что документации по этому вопросу не так много, поэтому я добавил свое решение.
Я писал приложение с использованием Amazon Elastic MapReduce (Amazon EMR). После того, как расчеты закончились, мне нужно было выполнить некоторую работу над созданными ими файлами, поэтому мне нужно было знать, когда поток заданий завершил свою работу.
Вот как вы можете проверить, завершен ли ваш поток заданий:
AmazonElasticMapReduce mapReduce = new AmazonElasticMapReduceClient(credentials);
DescribeJobFlowsRequest jobAttributes = new DescribeJobFlowsRequest()
.withJobFlowStates("COMPLETED");
List<JobFlowDetail> jobs = mapReduce.describeJobFlows(jobAttributes).getJobFlows();
JobFlowDetail detail = jobs.get(0);
detail.getJobFlowId(); //the id of one of the completed jobs
Вы также можете найти определенный идентификатор задания в DescribeJobFlowsRequest
, а затем проверить, завершено ли это задание или нет.
Я надеюсь, что это поможет другим.