I have wait more than one week, what's the next step please?

---------- Forwarded message ----------
From: xinhua guo <[email protected]>
Date: 2015-01-16 14:57 GMT+08:00
Subject: Re: [PECL-DEV] publish extension
To: Antony Dovgal <[email protected]>
抄送: [email protected]


Thank you for your comments Antony,
I have fix ,the 1,2,4 point. and commited to github.

About the 3 point, I know E_ERROR will kill the process, in some
situation, I let the process down intentionally to send a FIN packet
to proxy process to release the TCP connection that the down process
holding.

About the 5 point, I know that this method is not good, I began to use
the "code" attribute to determine whether some error has occurred, but
the redis exception class do not have the "code" property.
I can not figure the better way out now.

by the way: I am a phper and this is my first extension. I have used
it to solve  our company's DB layer troubles.

2015-01-16 1:08 GMT+08:00 Antony Dovgal <[email protected]>:
> A few comments after a quick look at the code:
>
> 1)
>     int errorno;
> ..
>     if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lsss|z", &errorno,
>
> the "l" modifier in parse_parameters expects long, not int.
> But string lengths are int. It's a bit counterintuitive, yes.
>
> 2) zend_error() is for Zend Engine only and should never be called from an
> extension, use php_error_docref() instead
> 3) E_ERROR should only be used if the engine cannot continue execution,
> using it for errors in an extension is definitely an overkill
> 4) there are quite a lot of debug/error printfs in the code
> 5) I do not think this is the best way to determine if there were any
> errors:
>
>   char *p = strstr(Z_STRVAL_P(str), "server has gone away");
>   char *p2 = strstr(Z_STRVAL_P(str), "There is already an active
> transaction");
>   if (p || p2) {
>       zend_hash_del(&pdo_object_table, Z_STRVAL_PP(data_source),
> Z_STRLEN_PP(data_source));
>   }
>
>
> All in all, the extension looks like a hack to me, I don't believe this
> should be in PECL.
>
>
>
> On 01/15/2015 05:18 AM, guo xinhua wrote:
>>
>> I have writen a php extension and i want publish to pecl.
>>
>> The extension start a proxy process and hold some pdo and redis
>> connections,
>> It provide local connect pool like java.
>>
>>
>> Technical characteristics:
>>
>> - After each time fetchAll (set/get)  call release() method, release
>> the connection to the pool, avoid that the script jammed causing
>> connection occupy high.
>> - The maximum and minimum number of connections configuration support.
>> - Support  small pressure automatic recovery connection.
>> - Support graceful restart (reload).
>> - Do a lot of optimization, although the request through the
>> connection pool process forward, but no loss of QPS.
>> - When the connection use out,support queue.
>> - Simple! just change the new method and add release function (see
>> demon),you used the tcp pool.
>> - The connection proxy will start the ping process to monitor down
>> list, if available will reflect to the return value of the
>> get_disable_list(), use this function you can do some fun things,like
>> LB.
>>
>> The code on git:
>> github.com/swoole/php-cp
>>
>>
>> I am Gray,25 years old,live in china , my chinese name is xinhua.guo,
>> i work on jumei.
>>
>>
>> btw:I have translate the conf,demon.php and readme.
>>
>
>
> --
> Wbr,
> Antony Dovgal
> ---
> http://pinba.org - realtime profiling for PHP
>
>
> --
> PECL development discussion Mailing List (http://pecl.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

--
PECL development discussion Mailing List (http://pecl.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to