Программно проверять состояние действия в рабочем процессе oozie из другого рабочего процесса oozie - PullRequest
0 голосов
/ 11 февраля 2019

Я выполняю некоторый код в рабочем процессе oozie с именем действия WF1 с именем AC1 .. Этот рабочий процесс не запланирован, но выполняется непрерывно .. обычно действие AC1 будет выполняться 4 раза в день.Время, в которое выполняется это действие, неизвестно ранее.Теперь есть еще один рабочий процесс Oozie WF2, запуск которого запланирован на 4:00 утра с использованием координатора Oozie.Этот WF2 работает только в течение 3-4 минут, так как это небольшой код, необходимый для работы в непиковые часы.В этом WF2 мы хотим проверить состояние действия рабочего процесса AC1 (выполняемого как часть WF1 [каждый раз, когда запускается экземпляр AC1, ему присваивается новый идентификатор]. Можно ли получить статус AC1, используя только имя, не знаяидентификатор?

Я знаю, что у меня есть обходной путь, где я могу сохранить статус AC1 в таблице Hive и продолжать запрашивать его, чтобы узнать статус. Но если что-то предлагается из коробки, это будет полезно.

1 Ответ

0 голосов
/ 10 мая 2019

Есть несколько способов сделать это (как вы упоминаете).

Встроенный способ заключается в использовании информации о работе Так что вы можете просто получить и получить ответ со статусом работы на все действия, в приведенном ниже примере вы можете перейти к actions найдите имя вашего действия и измените status, например:

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
.
{ 
  id: "0-200905191240-oozie-W",
  appName: "indexer-workflow",
  appPath: "hdfs://user/bansalm/indexer.wf",
  externalId: "0-200905191230-oozie-pepe",
  user: "bansalm",
  status: "RUNNING",
  conf: "<configuration> ... </configuration>",
  createdTime: "Thu, 01 Jan 2009 00:00:00 GMT",
  startTime: "Fri, 02 Jan 2009 00:00:00 GMT",
  endTime: null,
  run: 0,
  actions: [
    {
      id: "0-200905191240-oozie-W@indexer",
      name: "AC1",
      type: "map-reduce",
      conf: "<configuration> ...</configuration>",
      startTime: "Thu, 01 Jan 2009 00:00:00 GMT",
      endTime: "Fri, 02 Jan 2009 00:00:00 GMT",
      status: "OK",
      externalId: "job-123-200903101010",
      externalStatus: "SUCCEEDED",
      trackerUri: "foo:8021",
      consoleUrl: "http://foo:50040/jobdetailshistory.jsp?jobId=...",
      transition: "reporter",
      data: null,
      errorCode: null,
      errorMessage: null,
      retries: 0
    },
...