Задание активности ответа AWS SWF выполнено

В консоли управления SWF я вижу, что в рабочем процессе содержится около 18 событий, а 16-е — мое ActivityTaskCompleted Событие, однако, всякий раз, когда я голосую за решения, я получаю только до 15-го события, поэтому я никогда не получаю RespondDecisionTaskCompleted с типом решения CompleteWorkflowExecution поэтому мои рабочие процессы всегда находятся в активном состоянии до истечения времени ожидания.

Поток, который я использую, взят из PHP SWF-файла, который я нашел некоторое время назад, но, к сожалению, у меня больше нет ссылки на него.

$response = $this->swf->PollForDecisionTask($opts);
$decision_list = self::_decide(new HistoryEventIterator($this->swf, $opts, $response), $this->swf);
if(count($decision_list) > 0)
{
//Some decisions
}
else
{
//No decisions
}

Где HistoryEventIterator выглядит так

public function __construct(Aws\Swf\SwfClient $swf_client, $original_request, $original_response) {
$this->swf = $swf_client;
$this->events = array();
$this->event_index = 0;
$this->next_page_token = null;
$this->original_poll_request = $original_request;

$this->_process_poll_response($original_response);
$this->workflow_id = $original_response->get('workflowExecution')['workflowId'];
$this->run_id = $original_response->get('workflowExecution')['runId'];
}

protected function _process_poll_response($response) {
if ($response->hasKey("nextPageToken")) {
$this->next_page_token = (string) $response->get("nextPageToken");
} else {
$this->next_page_token = null;
}

$next_events = $response->get("events");
$next_events_object = new ArrayObject($next_events);
$next_events_copy = $next_events_object->getArrayCopy();
$this->events = array_merge($this->events, $next_events);
}

Я опустил проверку ошибок и функции HistoryEventIterator это не будет называться в этом сценарии.
Я вывел next_page_token из HistoryEventIterator и обнаружил, что это всегда NULL,

Если RespondDecisionTaskCompleted призвал из деятельности достичь решающего? Если это так, что может быть причиной для моего нет? Конечно, после 15 событий он не будет пейджинговым и просто не будет корректным.

Я могу проверить, что домен, список задач действия и список задач принятия решения являются точными, так как рабочий процесс отображается в консоли управления SWF, как и решения и действие (действие даже имеет статус «Завершено»). Попробуйте / поймать блоки и ни в коем случае нет никаких исключений.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …