欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

redis - php-resque遇到坑

程序员文章站 2024-02-15 11:30:11
...
Resque::enqueue存数据放到redis队列,worker拿出来json_decode有时是不完整的(访问量大的时候出现几率可能更高,没完全验证)!
郁闷极至。通读了多编php-ressue代码,也很清晰,看不出啥问题啊。 php-ressue中打log如下(Rescue.php),
    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;        
    }

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

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

回复内容:

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

    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;        
    }

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

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

相关标签: php redis