使用codeigniter构建工作队列

ahy6op9u  于 2022-12-06  发布在  其他
关注(0)|答案(2)|浏览(189)

我想让一个工人用这个回收站和Redis
https://github.com/yidas/codeigniter-queue-worker
但我没有找到任何完整的教程如何使用它。我曾试图使用它的手册,但没有运气,并不断抛出错误,我不知道如何完全建立工人。
如果你们中有人尝试过或使用过,请帮助用这个库来构建工人。
我需要获取大约100万或更多的数据,并从这些数据中构建一个新的数据库,我认为仅仅使用一个单一的调用查询是不可能完成的,这就是为什么我试图通过使用worker来获取所有数据,这样这些数据就可以被一致地获取,而不会出现任何错误。
尝试使用“use”加载库

<?php if(!defined('BASEPATH')) exit ('No direct script access allowed!');

use vendor\yidas\queue\sec\Controller' as WorkerController;

class User_register_unverified extends WorkerController{

    function __construct(){
        parent::__construct();
    }

    function index(){
        echo 'Test';
    }

}

我遇到此错误

An uncaught Exception was encountered
Type: ParseError

Message: syntax error, unexpected '' as WorkerController;' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ';'

Filename: /var/www/html/lists/services/application/controllers/User_register_unverified.php

Line Number: 9

Backtrace:

File: /var/www/html/lists/services/index.php
Line: 320
Function: require_once

I尝试将库移动到“libraries”codeigniter目录并使用require_once,然后将类名更改为“Worker”

<?php if(!defined('BASEPATH')) exit ('No direct script access allowed!');

// use vendor\yidas\queue\sec\Controller' as WorkerController;
require_once APPATH.'libraries/Worker' as WorkerController;

class User_register_unverified extends WorkerController{

    function __construct(){
        parent::__construct();
    }

    function index(){
        echo 'Test';
    }

}

也出现相同错误

An uncaught Exception was encountered
Type: ParseError

Message: syntax error, unexpected 'as' (T_AS)

Filename: /var/www/html/lists/services/application/controllers/User_register_unverified.php

Line Number: 4

Backtrace:

File: /var/www/html/lists/services/index.php
Line: 320
Function: require_once

然后我试着使用

<?php if(!defined('BASEPATH')) exit ('No direct script access allowed!');

// use vendor\yidas\queue\sec\Controller' as WorkerController;
// require_once APPATH.'libraries/Worker' as WorkerController;

class User_register_unverified extends CI_Controller{

    function __construct(){
        parent::__construct();
        $this->worker  = $this->load->library('worker');
    }

    function index(){
        echo 'Test';
    }

}

我收到了这个通知

An Error Was Encountered
Non-existent class: Worker

我注意到我做了错误的类型目录在“使用”的方式和修复它

<?php if(!defined('BASEPATH')) exit ('No direct script access allowed!');

use vendor\yidas\queue\src\Controller as WorkerController;

class User_register_unverified extends WorkerController{

    function __construct(){
        parent::__construct();
        // $this->worker  = $this->load->library('worker');
    }

    function index(){
        echo 'Test';
    }

}

然而,仍然会得到相同的错误

Fatal error: Class 'vendor\yidas\queue\src\Controller' not found in /var/www/html/lists/services/application/controllers/User_register_unverified.php on line 6
A PHP Error was encountered
Severity: Error

Message: Class 'vendor\yidas\queue\src\Controller' not found

Filename: controllers/User_register_unverified.php

Line Number: 6

Backtrace:
raogr8fs

raogr8fs1#

你可以这样使用

<?php
use yidas\queue\worker\Controller as WorkerController;

class Job extends WorkerController {
js5cn81o

js5cn81o2#

使用require 'vendor/autoload.php';

<?php
//use yidas\queue\worker\Controller as WorkerController;

require 'vendor/autoload.php';

class Job extends WorkerController {

相关问题