Pheanstalk queueng list reserve PHP



嗨,我的 pheanstalk 遇到了问题,对不起,这是我第一次使用它。我的项目涉及一次保存 5000 个条目,当我工作时,由于流量请求,php 会得到 502。所以我的解决方案是在过程中使用 pheanstalk 这是我下面的代码,没关系。我已经在服务器上安装了豆茎。

    require("vendor/autoload.php");
use PheanstalkPheanstalk;
$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

Philotic,Inc开发的Facebook中使用的Beanstalk,用于改善Facebook应用程序(拥有超过1000万用户)上Causes的响应时间。Beanstalk将最常见页面的平均响应时间减少到原始页面的一小部分,从而显着改善了用户体验。

这是代码点火器的示例

  1. 从这里下载Pheastalk

Pheastalk是一个用于betalkd队列的PHP客户端。

  1. application/libraries 中添加 Pheanstalk 文件夹。

  2. application/config 下创建pheanstalk.php

  3. 添加以下代码。

    <?php
      if (!defined('BASEPATH'))
        exit('No direct script access allowed');
       $config['ip'] = '192.168.0.2'; // Example IP, Enter your IP
       $config['port'] = 11300;
    
  4. application/libraries下创建 Pheanstalk.php(P 大写

    )。
  5. 添加以下代码。

     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']);
        }
     } 
    
  6. 创建这样的控制器。

     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 heren");
        $job = $this->pheanstalk
                ->watch('testtube')
                ->ignore('default')
                ->reserve();
        echo $job->getData();
        $this->pheanstalk->delete($job);
    } }
    

试试这种方式。

相关内容

  • 没有找到相关文章

最新更新