Постоянный опрос краулера энергозатратен, и на больших процессах с несколькими параллельными workflow это начинает мешать. Поэтому разбираем вебхуки и разделяем работу на два отдельных сценария: отправитель запускает краулинг и останавливается, получатель начинает работать только тогда, когда Firecrawl сам постучится и скажет, что задача готова. Показываю, где взять URL вебхука, как добавить объект webhook в тело запроса crawl с событиями completed и failed, чем нода Webhook отличается от цикла с запросами и почему она не приносит данные, а только триггерит процесс по ID задачи. Дальше по этому ID данные забирает HTTP Request, Split Out их разбивает, и строки уходят в Google-таблицу. Весь урок идёт в тестовом режиме, у которого есть своё ограничение по времени ожидания, поэтому отлаживаемся на маленьких лимитах. В конце смотрим, сколько всего Firecrawl отдаёт по одной странице, и разбираем домашнее задание.
0:00–1:04 Зачем нужен вебхук. Схема с постоянным опросом тратит ресурсы, и процесс делится на два: sender — тот, кто отправляет задачу, и receiver — совсем другой процесс, который начинается с ноды Webhook. Получатель стартует только тогда, когда на стороне краулера работа закончится, сколько бы страниц там ни было. Webhook работает как триггер: не мы стучимся в ту сторону, а исполнитель стучится к нам и говорит, что готов.
1:04–1:34 Разбираем отправителя. Нового тут мало: обращаемся по URL crawl, а две ноды рядом — отладочные, чтобы зафиксировать информацию, если всё окей, и посмотреть, что не так, если не окей. Для отладки берём пока одну страничку, чтобы результаты приходили быстрее.
1:34–2:36 В теле запроса к краулеру появляется объект webhook: у него есть URL и список событий. Программируемся на два события — completed, когда задача выполнена, и failed, если случится ошибка. То есть отправляем то же техзадание по API краулера, но добавляем объект webhook с конкретным адресом. Обратите внимание, что URL здесь тестовый, это важно; про продакшн говорить пока не будем, чтобы не путаться.
2:36–3:43 Откуда берётся этот URL. Открываем ноду Webhook в получателе и копируем Test URL. Метод — POST, путь придумываем сами, в нашем случае firecrawl-result, и он подставляется в адрес. Аутентификации пока никакой, Respond…
🔒
Этот материал доступен участникам Клуба. Войдите или оформите доступ,
чтобы читать целиком, открывать видео и комментировать.