Недавно я работал с 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
, а затем проверить, завершилось ли это задание.
Я надеюсь, что это поможет другим.