Я прошу прощения за супер базовый вопрос, я все еще пытаюсь научиться работать с очередями сообщений.
Случай:
У каждого пользователя есть «рабочий», который может толькообрабатывать одну задачу за один раз для этого пользователя.Если очередь выглядит следующим образом:
[
{ taskForUser: 4, data { ...payload } },
{ taskForUser: 3, data { ...payload } },
{ taskForUser: 4, data { ...payload } },
{ taskForUser: 1, data { ...payload } },
{ taskForUser: 2, data { ...payload } },
{ taskForUser: 2, data { ...payload } },
{ taskForUser: 1, data { ...payload } },
{ taskForUser: 1, data { ...payload } }
]
Я хотел бы убедиться, что на каждого работника пользователя никто не сидит без дела, и как только работа для этого пользователя будет завершена, я бы хотелэтот пользователь должен взять следующую работу для себя.
По сути, это похоже на несколько очередей - очередь для каждого пользователя.
Для простоты похоже на динамическое создание очереди для каждого нового знака пользователя.Up кажется приличным решением.Однако это может привести к таким проблемам, как опрос SQS слишком много.
Возможно, я в корне неправильно понимаю, как работает SQS, но как мне лучше решить эту проблему?