queue + curl

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
NorthugP
Сообщения: 8
Зарегистрирован: 2018.04.25, 09:16

queue + curl

Сообщение NorthugP »

Всем привет. Использую api vk с помощью вот этого класса https://github.com/vladkens/VK/blob/mas ... /VK/VK.php. Все работает через web и через консоль, но мне еще нужно добавлять задание в очередь, а там почему то ошибка curl_close() expects parameter 1 to be resource, integer given. после ввода команды yii queue/run. В общем, почему то $this->ch оказывается пустым, не могу понять почему.

Вот упрощенный пример класса задачи

Код: Выделить всё

class Job extends \yii\base\BaseObject implements \yii\queue\JobInterface {

    public function execute($queue) {
        $this->start();
    }
    
    public function start() {
        // тут код
    }

    public function test() {
        $this->start();
    }

}
Как говорил уже, если я вызываю в браузере или в консоле функцию start, то все работает как надо.

Полная информация по ошибке.

Код: Выделить всё

2018-10-24 18:00:29 [-][-][-][error][yii\base\ErrorException:2] yii\base\ErrorException: curl_close() expects parameter 1 to be resource, integer given in D:\OpenServer\OSPanel\domains\site.ru\vendor\vladkens\vk\src\VK\VK.php:73
Stack trace:
#0 [internal function]: yii\base\ErrorHandler->handleError(2, 'curl_close() ex...', 'D:\\OpenServer\\O...', 73, Array)
#1 D:\OpenServer\OSPanel\domains\site.ru\vendor\vladkens\vk\src\VK\VK.php(73): curl_close(0)
#2 D:\OpenServer\OSPanel\domains\site.ru\vendor\yiisoft\yii2-queue\src\cli\Command.php(198): VK\VK->__destruct()
#3 D:\OpenServer\OSPanel\domains\site.ru\vendor\yiisoft\yii2-queue\src\cli\Command.php(125): yii\queue\cli\Command->handleMessage(8, 'O:61:"vktarget\\...', 300, 1)
#4 [internal function]: yii\queue\cli\Command->yii\queue\cli\{closure}(8, 'O:61:"vktarget\\...', 300, 1)
#5 D:\OpenServer\OSPanel\domains\site.ru\vendor\yiisoft\yii2-queue\src\cli\Queue.php(144): call_user_func(Object(Closure), 8, 'O:61:"vktarget\\...', 300, 1)
#6 D:\OpenServer\OSPanel\domains\site.ru\vendor\yiisoft\yii2-queue\src\drivers\file\Queue.php(77): yii\queue\cli\Queue->handleMessage(8, 'O:61:"vktarget\\...', 300, 1)
#7 [internal function]: yii\queue\file\Queue->yii\queue\file\{closure}(Object(Closure))
#8 D:\OpenServer\OSPanel\domains\site.ru\vendor\yiisoft\yii2-queue\src\cli\Queue.php(117): call_user_func(Object(Closure), Object(Closure))
#9 D:\OpenServer\OSPanel\domains\site.ru\vendor\yiisoft\yii2-queue\src\drivers\file\Queue.php(86): yii\queue\cli\Queue->runWorker(Object(Closure))
#10 D:\OpenServer\OSPanel\domains\site.ru\vendor\yiisoft\yii2-queue\src\drivers\file\Command.php(56): yii\queue\file\Queue->run(false)
#11 [internal function]: yii\queue\file\Command->actionRun()
#12 D:\OpenServer\OSPanel\domains\site.ru\vendor\yiisoft\yii2\base\InlineAction.php(57): call_user_func_array(Array, Array)
#13 D:\OpenServer\OSPanel\domains\site.ru\vendor\yiisoft\yii2\base\Controller.php(157): yii\base\InlineAction->runWithParams(Array)
#14 D:\OpenServer\OSPanel\domains\site.ru\vendor\yiisoft\yii2\console\Controller.php(148): yii\base\Controller->runAction('run', Array)
#15 D:\OpenServer\OSPanel\domains\site.ru\vendor\yiisoft\yii2\base\Module.php(528): yii\console\Controller->runAction('run', Array)
#16 D:\OpenServer\OSPanel\domains\site.ru\vendor\yiisoft\yii2\console\Application.php(180): yii\base\Module->runAction('queue/run', Array)
#17 D:\OpenServer\OSPanel\domains\site.ru\vendor\yiisoft\yii2\console\Application.php(147): yii\console\Application->runAction('queue/run', Array)
#18 D:\OpenServer\OSPanel\domains\site.ru\vendor\yiisoft\yii2\base\Application.php(386): yii\console\Application->handleRequest(Object(yii\console\Request))
#19 D:\OpenServer\OSPanel\domains\site.ru\yii(23): yii\base\Application->run()
#20 {main}
2018-10-24 18:00:27 [-][-][-][info][application] $_GET = []

$_POST = []

$_FILES = []

$_COOKIE = []

$_SERVER = [
    'ALLUSERSPROFILE' => 'C:\\ProgramData'
    'ANSICON' => '125x32766 (125x50)'
    'ANSICON_DEF' => '7'
    'APPDATA' => 'C:\\Users\\User\\AppData\\Roaming'
    'CommonProgramFiles' => 'C:\\Program Files (x86)\\Common Files'
    'CommonProgramFiles(x86)' => 'C:\\Program Files (x86)\\Common Files'
    'CommonProgramW6432' => 'C:\\Program Files\\Common Files'
    'COMPUTERNAME' => 'PC'
    'ComSpec' => 'C:\\Windows\\system32\\cmd.exe'
    'ConEmuANSI' => 'ON'
    'ConEmuAnsiLog' => ''
    'ConEmuArgs' => '/Single'
    'ConEmuArgs2' => ''
    'ConEmuBackHWND' => '0x00040528'
    'ConEmuBaseDir' => 'D:\\openserver\\ospanel\\modules\\conemu\\ConEmu'
    'ConEmuBaseDirShort' => 'D:\\OpenServer\\OSPanel\\modules\\conemu\\ConEmu'
    'ConEmuBuild' => '171109'
    'ConEmuCfgDir' => 'D:\\openserver\\ospanel\\modules\\conemu'
    'ConEmuConfig' => ''
    'ConEmuDir' => 'D:\\openserver\\ospanel\\modules\\conemu'
    'ConEmuDrawHWND' => '0x00030486'
    'ConEmuDrive' => 'D:'
    'ConEmuHooks' => 'Enabled'
    'ConEmuHWND' => '0x00070848'
    'ConEmuPalette' => '<ConEmu>'
    'ConEmuPID' => '7392'
    'ConEmuPrompt0' => '$E[m$E[32m$E]9;8;\"USERNAME\"$E\\@$E]9;8;\"COMPUTERNAME\"$E\\$S'
    'ConEmuPrompt1' => '$E[m$E[32m$E]9;8;\"USERNAME\"$E\\@$E]9;8;\"COMPUTERNAME\"$E\\$S$E[92m$P$E[90m'
    'ConEmuPrompt2' => '$_$E[90m$G'
    'ConEmuPrompt3' => '$E[m$S$E]9;12$E\\'
    'ConEmuServerPID' => '4592'
    'ConEmuTask' => '{Shells::cmd}'
    'ConEmuWorkDir' => 'd:\\openserver\\ospanel'
    'ConEmuWorkDrive' => 'd:'
    'C_EM64T_REDIST11' => 'C:\\Program Files (x86)\\Common Files\\Intel\\Shared Files\\cpp\\'
    'DNX_HOME' => '%USERPROFILE%\\.dnx'
    'DXSDK_DIR' => 'C:\\Program Files (x86)\\Microsoft DirectX SDK (June 2010)\\'
    'FP_NO_HOST_CHECK' => 'NO'
    'HOME' => 'd:\\openserver\\ospanel'
    'HOMEDRIVE' => 'd:'
    'HOMEPATH' => '\\openserver\\ospanel'
    'LOCALAPPDATA' => 'C:\\Users\\User\\AppData\\Local'
    'LOGONSERVER' => '\\\\PC'
    'NUMBER_OF_PROCESSORS' => '4'
    'OPENSSL_CONF' => 'd:\\openserver\\ospanel\\modules\\http\\Apache-PHP-7\\conf\\openssl.cnf'
    'OS' => 'Windows_NT'
    'Path' => 'D:\\openserver\\ospanel\\modules\\conemu\\ConEmu\\Scripts;D:\\openserver\\ospanel\\modules\\conemu;D:\\openserver\\ospanel\\modules\\conemu\\ConEmu;d:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\ext;d:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\pear;d:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\pear\\bin;d:\\openserver\\ospanel\\modules\\php\\PHP-7.1;d:\\openserver\\ospanel\\modules\\wget\\bin;d:\\openserver\\ospanel\\modules\\database\\MySQL-5.6\\bin;d:\\openserver\\ospanel\\modules\\http\\Apache-PHP-7\\bin;d:\\openserver\\ospanel\\modules\\http\\Apache-PHP-7;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\system32\\Wbem;C:\\Windows\\SysWOW64'
    'PATHEXT' => '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC'
    'PHPBIN' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\php.exe'
    'PHPDIR' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\'
    'PHPRC' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1'
    'PHP_BIN' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\php.exe'
    'PHP_BINARY' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\php.exe'
    'PHP_BINDIR' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\'
    'PHP_COMMAND' => 'php.exe'
    'PHP_DIR' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\'
    'PHP_INI' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\php.ini'
    'PHP_PEAR_BIN_DIR' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\PEAR'
    'PHP_PEAR_DATA_DIR' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\PEAR\\data'
    'PHP_PEAR_DOC_DIR' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\PEAR\\docs'
    'PHP_PEAR_INSTALL_DIR' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\PEAR\\pear'
    'PHP_PEAR_PHP_BIN' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\php.exe'
    'PHP_PEAR_SYSCONF_DIR' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\PEAR'
    'PHP_PEAR_TEST_DIR' => 'd:\\openserver\\ospanel\\modules\\php\\PHP-7.1\\PEAR\\tests'
    'PROCESSOR_ARCHITECTURE' => 'x86'
    'PROCESSOR_ARCHITEW6432' => 'AMD64'
    'PROCESSOR_IDENTIFIER' => 'Intel64 Family 6 Model 58 Stepping 9, GenuineIntel'
    'PROCESSOR_LEVEL' => '6'
    'PROCESSOR_REVISION' => '3a09'
    'ProgramData' => 'C:\\ProgramData'
    'ProgramFiles' => 'C:\\Program Files (x86)'
    'ProgramFiles(x86)' => 'C:\\Program Files (x86)'
    'ProgramW6432' => 'C:\\Program Files'
    'PROMPT' => '$E[m$E[32m$E]9;8;\"USERNAME\"$E\\@$E]9;8;\"COMPUTERNAME\"$E\\$S$E[92m$P$E[90m$_$E[90m$G$E[m$S$E]9;12$E\\'
    'PSModulePath' => 'C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\;C:\\Program Files (x86)\\Microsoft SQL Server\\110\\Tools\\PowerShell\\Modules\\'
    'PUBLIC' => 'C:\\Users\\Public'
    'SESSIONNAME' => 'Console'
    'SystemDrive' => 'C:'
    'SystemRoot' => 'C:\\Windows'
    'TEMP' => 'd:\\openserver\\ospanel\\userdata\\temp'
    'TMP' => 'd:\\openserver\\ospanel\\userdata\\temp'
    'USERDOMAIN' => 'PC'
    'USERNAME' => 'User'
    'USERPROFILE' => 'C:\\Users\\User'
    'VBOX_MSI_INSTALL_PATH' => 'C:\\Program Files\\Oracle\\VirtualBox\\'
    'VS110COMNTOOLS' => 'C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\Tools\\'
    'VS120COMNTOOLS' => 'C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\Tools\\'
    'VS140COMNTOOLS' => 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\Tools\\'
    'windir' => 'C:\\Windows'
    'windows_tracing_flags' => '3'
    'windows_tracing_logfile' => 'C:\\BVTBin\\Tests\\installpackage\\csilogfile.log'
    'YII_PATH' => 'd:\\OpenServer\\OSPanel\\domains\\site.ru\\'
    'PHP_SELF' => 'd:\\OpenServer\\OSPanel\\domains\\site.ru\\yii'
    'SCRIPT_NAME' => 'd:\\OpenServer\\OSPanel\\domains\\site.ru\\yii'
    'SCRIPT_FILENAME' => 'd:\\OpenServer\\OSPanel\\domains\\site.ru\\yii'
    'PATH_TRANSLATED' => 'd:\\OpenServer\\OSPanel\\domains\\site.ru\\yii'
    'DOCUMENT_ROOT' => ''
    'REQUEST_TIME_FLOAT' => 1540393227.9491
    'REQUEST_TIME' => 1540393227
    'argv' => [
        0 => 'd:\\OpenServer\\OSPanel\\domains\\site.ru\\yii'
        1 => 'queue/run'
    ]
    'argc' => 2
]
NorthugP
Сообщения: 8
Зарегистрирован: 2018.04.25, 09:16

Re: queue + curl

Сообщение NorthugP »

В итоге использовал getjump/VkApiPHP вместо vladkens/VK и в очереди все заработало
Ответить