Net::HTTP.post_form i CURL Response Empty

Witam, mam aplikacje która wysyła powiadomienia do aplikacji klienckich o zmianach statusów obiektów w aplikacji głównej.

Powiadomienia wysyłam poprzez (zapytanie post jest konieczne)

Net::HTTP.post_form(URI.parse(url), params)

problem w tym że po dłuższym czasie działania, zamiast odpowiedzi potwierdzających otrzymanie powiadomienia otrzymuje:

CURL Response Empty

Po zrestartowaniu nginx’a wszystko wraca do normy, oczywiście do czasu.

Aplikacja główna działa na nginx+passenger, aplikacje klienckie na apache/php.

Planuje dziś przeanalizować konfiguracje nginx’a ale szczerze mówiąc nie mam pojęcia czy to tam właśnie jest problem.

A co pokazują logi Ngnixa i aplikacji do ktorych idzie post?

tzn w ogóle takie rzeczy najlepiej jest jednak robić jakoś w backgroundzie.

o ile dobrze rozumiem, robisz to następująco:
masz aplikację nginx + passenger, która po wywołaniu jakiegoś urla (nazwijmy go roboczo /do_it) w ramach akcji kontrolera wykonuje posta używając Net::HTTP
i teraz tego urla (/do_it) wywołujesz curlem i otrzymujesz “CURL Response Empty” zamiast odpowiedzi od swojej aplikacji, tak?

@slawosz, logi podeśle jak tylko będę miał dostęp, mam nadzieje że to właśnie tam znajduje się odpowiedz.

@Esse [quote]masz aplikację nginx + passenger, która po wywołaniu jakiegoś urla (nazwijmy go roboczo /do_it) w ramach akcji kontrolera wykonuje posta używając Net::HTTP[/quote]
dokładnie tak, ale druga część wygląda inaczej: cron wywołuje url /do_it a on wysyła posta do urla aplikacji klienckiej m.in. z id obiektu w którym uległy zmianie dane, w odpowiedzi aplikacja kliencka powinna odpowiedzieć zwykłym stringiem “OK”.

Może żeby jeszcze bardziej rozjaśnić, główna aplikacja jest wzorowana na PayU, url /do_it to po prostu notyfikacje wysyłane do punktów sprzedażowych z informacją o zmianie statusu płatności. I jest dość sporo tych notyfikacji wysyłanych.

Aplikacje klienckie (punkty sprzedażowe) są ok, ręcznie wysłane zapytanie post - w czasie kiedy główna aplikacja otrzymuje odpowiedz “CURL Response Empty” - zwraca poprawna odpowiedz.