首页  >  文章  >  后端开发  >  redis - php-resque遇到坑

redis - php-resque遇到坑

WBOY
WBOY原创
2016-06-06 20:24:051337浏览

Resque::enqueue存数据放到redis队列,worker拿出来json_decode有时是不完整的(访问量大的时候出现几率可能更高,没完全验证)!
郁闷极至。通读了多编php-ressue代码,也很清晰,看不出啥问题啊。 php-ressue中打log如下(Rescue.php),

<code>    public static function pop($queue)
    {
        $item = self::redis()->lpop('queue:' . $queue);
        if(!$item) {
            return;
        }

        $result = json_decode($item, true);
        if(!is_array($result)) error_log('why not array : ' . $item);
        return $result;        
    }</code>

php日志中一天会出现过几次why not array ..,输出的$item不是有效的json

哪位兄弟有经验的,给点思路?给点建议?

回复内容:

Resque::enqueue存数据放到redis队列,worker拿出来json_decode有时是不完整的(访问量大的时候出现几率可能更高,没完全验证)!
郁闷极至。通读了多编php-ressue代码,也很清晰,看不出啥问题啊。 php-ressue中打log如下(Rescue.php),

<code>    public static function pop($queue)
    {
        $item = self::redis()->lpop('queue:' . $queue);
        if(!$item) {
            return;
        }

        $result = json_decode($item, true);
        if(!is_array($result)) error_log('why not array : ' . $item);
        return $result;        
    }</code>

php日志中一天会出现过几次why not array ..,输出的$item不是有效的json

哪位兄弟有经验的,给点思路?给点建议?

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn