xbuf_frurl timeout=0
Я пытаюсь использовать xbuf_frurl
чтобы начать работника, чтобы сделать некоторую постобработку.
Работник закончит работу, ничего не возвращая.
Таким образом, оригинальный скрипт может быстрее отвечать клиенту.
Итак, я пытаюсь установить время ожидания =0 мс в xbuf_frurl, надеясь, что он может немедленно вернуться, выполнить оставшуюся часть кода и вернуть 200.
xbuf_frurl(&buf, "localhost", 80, HTTP_GET, "/postprocessing", 0, 0);
xbuf_ncat (reply, buf.ptr, buf.len);
Но, похоже, время ожидания не сразу, поскольку буфер не равен нулю.
Есть ли лучший способ сделать это?
1 ответ
xbuf_frurl()
Тайм-аут направлен на ускорение сбоя, когда целевой хост не принимает соединение TCP.
Таким образом, чтобы ответить на ваш вопрос, время ожидания не будет влиять на время ответа, так как сервер всегда находится в сети.
Я не уверен, что запрос сервлета из другого сервлета (или себя) - лучший способ сделать то, что вы хотите сделать, но я не могу дать вам лучшую стратегию, если я не знаю, какова ваша цель (таинственный "постобработка", безусловно, может быть инициирована более эффективно, чем при использовании HTTP-соединения).
Если вы хотите использовать HTTP-соединение, вы можете иметь сервлет для отправки минимального ответа, используя неверный код состояния HTTP в диапазоне 1-99: это используется для предотвращения добавления отсутствующими заголовками HTTP G-WAN, например, для отправить голые JSON полезные нагрузки.