Я, наверное, уже слишком много размышляю над этим и хотел бы получить некоторую информацию о том, как лучше спроектировать веб-скребок в среде без сервера
Над чем я работаю, это простой форумный скребок, который предоставляет пользователям статистику того, как их сообщения нравятся, количество слов на подфоруме и т. д. c.
Моя идея состояла в том, что мой:
- Stati c веб-сайт отправляет идентификатор пользователя для функции лямбда-менеджера
- Менеджер проверяет, был ли этот пользователь ранее удален в RDS, и вычисляет дельту в случае, если
- Менеджер возвращает идентификатор задания, создает, добавляет URL-адреса для очистки в очереди
- Скреперы запускаются элементами в очереди, обрабатывающими сообщения.
- Stati c веб-сайт запрашивает у менеджера статус для задания
- <<< how теперь менеджер знает, завершено ли задание (я не могу отфильтровать SQS, это противоречит его назначению, а задания скребка работают независимо и параллельно, поэтому они также не знают, если определенный URL-адрес был последним URL-адресом для этого задания. </li>
- По запросу Manager распознает задание выполненным, сохраняет сгенерированные данные в виде файла CSV на s3
- Веб-сайт stati c извлекает сгенерированный CSV файл и процессы далее
Какая архитектура будет правильной, чтобы избежать загадки в пункте 6? Я подумал, что вместо этого будет использовать RDS для сохранения URL-адресов с идентификатором задания и статусом разбора, и если все URL-адреса этой работы будут иметь правильный статус, я буду знать, как на это реагировать, но у меня будет чувство, что я слишком сильно этим занимаюсь?