Amazon SQS: як знайсці канец працы?

Скажам, у мяне ёсць шмат працоўных месцаў, і кожная праца складаецца з вялікай колькасці элементарных аперацый, што многія прыкладання працуюць на рабочых.

Я пасылаю паведамленне для кожнай аперацыі для работнікаў, каб яны маглі злавіць гэтыя паведамленні, рабіць тое, што патрабуецца, паведаміўшы з паведамленнем у чарзе кіравання некаторымі кантролю прыкладання.

Але як я магу ведаць, што ўсе аперацыі выконваюцца? SQS паведамленняў з'яўляюцца сапсаванымі, так што я не магу проста паслаць «апошні» паведамленні.

1

1 адказы

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

Напрыклад; першая праца адпраўкі складаецца з трох элементаў, так што працоўныя месцы 1-3-1, 1-3-2 і 1-3-3. У гэтай гіпатэтычнай схеме нумарацыі Ёў 1, які складаецца з трох частак, і трох частак. Калі гаспадар атрымлівае 131 і 133 ён "ведае", што яго чакае на 132, каб спыніцца на гэтым. Калі ён не атрымлівае яго ў нейкі тэрмін, ён можа нават паўторна паслаць запыт.

Некаторыя схемы, як гэта будзе трымаць вашыя запыты і фрагменты запытаў ад атрымання зблытана.

Поспехаў

1
дададзена
Гэта нумар тры-частцы я меў на ўвазе, але напісаў апошнюю частку дрэнна. 133 азначае 1-3-3, так што вы ведаеце, што трэцяя частка паведамлення трохчастковай.
дададзена аўтар sdg, крыніца
Для паўторнага выдасканаленага - калі ў вас ёсць 1-1000-555 ў вас ёсць частка 555 з 1000 частак задання. Надзея, што дапамагае (Так тры асобных палёў ...)
дададзена аўтар sdg, крыніца
Ну, калі я бачу паведамленне # 133, я ведаю, што яшчэ 132 паведамленняў плывуць кудысьці. Але да гэтага часу я не ведаю, дзе гэта канец - на паведамленне # 134 або паведамленне # 1000.
дададзена аўтар Yuriy Zhilovets, крыніца