|
Posted by Ben-Nes Yonatan on 10/02/05 12:52
Hi all,
I wrote a php script which is running very long queries (hours) on a
database.
I seem to have a problem to run the code when there are single queries
which take long times (like 5 hours for an update query), from the log
of the database I received the following code:
2005-09-30 17:12:13 IDT postgres : LOG: 00000: duration: 18730038.678
ms statement: UPDATE product_temp SET nleft=(SELECT
2005-09-30 17:12:13 IDT postgres : LOCATION: exec_simple_query,
postgres.c:1035
2005-09-30 17:12:13 IDT postgres : LOG: 08006: could not send data to
client: Broken pipe
2005-09-30 17:12:13 IDT postgres : LOCATION: internal_flush, pqcomm.c:1050
2005-09-30 17:12:13 IDT postgres : LOG: 08P01: unexpected EOF on client
connection
2005-09-30 17:12:13 IDT postgres : LOCATION: SocketBackend, postgres.c:287
2005-09-30 17:12:13 IDT postgres : LOG: 00000: disconnection: session
time: 6:04:58.52
2005-09-30 17:12:13 IDT postgres : LOCATION: log_disconnections,
postgres.c:3403
Now after the 5 hours update it need to echo into a log file a line
which say that it ended this command (just for me to know the times), my
assumption is that PHP read the code into memory at start and opened the
connection to the file, after a time which he waited to any given "life
sign" he gave up and closed the connection to the file, and when the
code came back to the file it encountered no connection to the file
(broken pipe).
Am I correct at my assumption? if so how can I set the PHP to wait how
much I tell him?
Ofcourse if im wrong I would like to know the reason also :)
Thanks in advance,
Ben-Nes Yonatan
[Back to original message]
|