Pheanstalk排队列表保留PHP

Pheanstalk排队列表保留PHP,php,codeigniter,beanstalkd,pheanstalk,Php,Codeigniter,Beanstalkd,Pheanstalk,嗨,我在我的pheanstalk上遇到了麻烦对不起,这是我第一次使用这个。由于流量请求,我的项目涉及到在处理GET502时php一次保存5000个条目。因此,我的解决方案是在流程中使用pheanstalk。下面是我的代码,可以。我已经在服务器上安装了beanstalk require("vendor/autoload.php"); use Pheanstalk\Pheanstalk; $pheanstalk = new Pheanstalk('127.0.0.1'); #prod

嗨,我在我的pheanstalk上遇到了麻烦对不起,这是我第一次使用这个。由于流量请求,我的项目涉及到在处理GET502时php一次保存5000个条目。因此,我的解决方案是在流程中使用pheanstalk。下面是我的代码,可以。我已经在服务器上安装了beanstalk

    require("vendor/autoload.php");
use Pheanstalk\Pheanstalk;
$pheanstalk = new Pheanstalk('127.0.0.1');   

#producer
$put = $pheanstalk->useTube("ashimatube".date("His"))
->put(json_encode(array("test"=>date("Yhs"))));

#worker
$job = $pheanstalk->watch("ashimatube".date("His"))
->ignore("default")->reserve();
豆茎 Beanstalk用于Facebook,由Philotic,Inc.开发,用于提高Facebook应用程序上原因的响应时间(超过1000万用户)。Beanstalk将最常见页面的平均响应时间减少到原始页面的一小部分,显著改善了用户体验

这是Codeigniter的示例

  • 从下载Pheastalk
  • Pheastalk是beanstalkd队列的PHP客户端

  • 应用程序/库中添加Pheanstalk文件夹

  • application/config
    下创建
    pheanstalk.php

  • 添加以下代码

    <?php
    
      if (!defined('BASEPATH'))
        exit('No direct script access allowed');
    
       $config['ip'] = '192.168.0.2'; // Example IP, Enter your IP
       $config['port'] = 11300;
    
     if (!defined('BASEPATH'))
       exit('No direct script access allowed');
    
     /** Pheanstalk root directory */
     if (!defined('PHEANSTALK_ROOT')) 
     {
          define('PHEANSTALK_ROOT', dirname(__FILE__) . '/');
          require(PHEANSTALK_ROOT . 'pheanstalk/pheanstalk_init.php');
     }
    
     class Pheanstalk extends Pheanstalk_Pheanstalk 
     {
    
        public function __construct($params) 
        {
            parent::__construct($params['ip'], $params['port']);
        }
     } 
    
  • 创建一个这样的控制器

     Class Test extends CI_Controller 
     {
    
      public function index() 
      {
        $this->load->library('pheanstalk');
        var_dump($this->pheanstalk->listTubes());
        $this->pheanstalk->useTube('testtube')->put("job payload goes here\n");
    
        $job = $this->pheanstalk
                ->watch('testtube')
                ->ignore('default')
                ->reserve();
    
        echo $job->getData();
    
        $this->pheanstalk->delete($job);
    } }
    

  • 试试这个方法。

    你把Pheanstalk PHP客户端放在哪里了?您是否收到任何错误/警告?实际问题是什么?