From: | Volkan YAZICI <volkan(dot)yazici(at)gmail(dot)com> |
---|---|
To: | Nick Stone <nick(at)harelane(dot)com> |
Cc: | pgsql-php(at)postgresql(dot)org |
Subject: | Re: Pqsocket not implemented in PHP |
Date: | 2005-06-30 10:10:48 |
Message-ID: | 7104a7370506300310710e365c@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-php |
Hi,
On 6/30/05, Nick Stone <nick(at)harelane(dot)com> wrote:
> I'm currently implementing a standalone app using php cli. Part of the app
> connects to Postgres and waits for a notification using the "Listen
> <tablename>" SQL. In the postgres C lib there is a function called
> "Pqsocket" which returns the file-descriptor of the socket connection to
> Postgres. With this I can use a simple select server to sleep on this
> interface and others in the application.
>
> Does anybody now of a patch to make this available under PHP or does the
> structure of PHP code effectively make this type approach impossible?
You can write a very simple patch returns socket FD using PQsocket().
But, AFAIC, it's not as simple as it seems to listen a socket using
just its FD value. As I understand from the source code, resource
required by socket_open() function has its own internal struct
representation, which means you need to be familiar with PHP internal
data types and mechanism before writing a patch. Therefore, it's not
impossible to implement such a feature, but, to be honest, it needs a
hard work.
IMHO, you can enter a loop with pg_last_notice() by using usleep(). I
won't think it'd cost so much system resource for you.
Regards.
From | Date | Subject | |
---|---|---|---|
Next Message | Nick Stone | 2005-06-30 10:55:28 | Re: Pqsocket not implemented in PHP |
Previous Message | Nick Stone | 2005-06-30 09:35:06 | Pqsocket not implemented in PHP |