2013-09-03 2 views
0

У нас возникла проблема с новой оболочкой Ruby-Flow для Amazon SWF.Ошибки связи с Amazon SWF - Ruby Flow

Проблема в том, что Workflow и Activity работники будут (несколько раз в час) не в состоянии правильно общаться с SWF-сервером. Это проявляется в различных формах:

  • рабочие процессы или деятельность не регистрируются, когда рабочие на новые версии запускаются
  • рабочего процесса или деятельности рабочих разобьет
  • рабочих деятельности будет закончить задачу, а затем получить ошибку при составлении отчетов что они выполнены, поэтому полное исполнение не выполняется.

Для рабочих аварий (как вид), мы видим следующее:

[email protected]:Crucible $RAILS_ENV=development rake crucible:swf:ingress_wf_start 
rake aborted! 
execution expired 
/Users/andy/.rvm/gems/[email protected]/gems/aws-sdk-1.11.1/lib/aws/core/http/connection_pool.rb:301:in `start_session' 
/Users/andy/.rvm/gems/[email protected]/gems/aws-sdk-1.11.1/lib/aws/core/http/connection_pool.rb:125:in `session_for' 
/Users/andy/.rvm/gems/[email protected]/gems/aws-sdk-1.11.1/lib/aws/core/http/net_http_handler.rb:52:in `handle' 
/Users/andy/.rvm/gems/[email protected]/gems/aws-sdk-1.11.1/lib/aws/core/client.rb:238:in `block in make_sync_request' 

Когда неудача заключается в отсутствии обновления сервера, что задача была закончена, трассировку очень похожи.

Это, похоже, не проблема SWF как таковой (то есть, это не тайм-аут выполнения операции); это проблема связи с Ruby HTTP. Аналогичные проблемы существуют в SO для общения с API Twitter.

Опять же, это не проблема с истечением тайм-аута SWF; рабочий процесс имеет тайм-аут дня, и каждое действие имеет тайм-аут часа. Ошибки происходят в пределах этой границы.

К сожалению, в основном это работает, я обычно могу начать выполнение рабочих процессов, я просто получаю такую ​​ошибку достаточно часто, чтобы мы не могли закончить ничего, кроме тривиальных заданий. Ошибки достаточно случайны, что устранение неполадок чрезвычайно сложно.

Мы воспроизвели это на разных машинах и из разных сетей. Мы все еще пробуем SWF в разработке, поэтому ни один из неудачников не находится в экземплярах EC2.


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

ответ

0

Я обсуждал этот вопрос в некоторой степени с человеком Amazon, который поддерживает библиотеку рубинового потока. Это обсуждение можно найти here.

Проблема в том, что нашим компьютерам не удалось открыть соединение с серверами AWS. Установление количества попыток нецензурной оценки затронуло проблему для наших целей развития.

Коренной причиной является что-то в Mac OSX. Мы используем это для разработки и увидели эту проблему времени на нескольких разных машинах (с 10.7 и 10.8).

Новая машина Linux не обнаружила проблемы.

Смежные вопросы