Я новичок ie в Yii2. Я хочу знать, как я собираюсь получить значение из функции execute () очереди. или я должен генерировать webhooks для этого. и как я могу Pu sh ту же функцию в очередь с тем же идентификатором очереди. Мой код:
public function execute($queue)
{
if($this->get_xml() != false){
return "Executed Successfully";
} else {
// Push back to the queue
}
}
private function get_xml(){
try{
$authorization = 'Basic '.base64_encode(\Yii::$app->params['adapter']['username'].':'.\Yii::$app->params['adapter']['password']);
$curl = curl_init(\Yii::$app->params['adapter']['cic_url']);
curl_setopt ($curl, CURLOPT_HTTPHEADER,[
"MCL-Interface: ".\Yii::$app->params['adapter']['mcl_interface'],
"Authorization: ".$authorization,
"Content-Type: text/xml"
]);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $this->get_cic_body());
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
if(curl_errno($curl)){ throw new \Exception(curl_error($curl));}
curl_close($curl);
$authentication_match = [];$not_ready_match = [];
preg_match_all('/AuthenticationFailure/m',$result,$authentication_match,PREG_PATTERN_ORDER);
if(count($authentication_match[0]) == 0){
preg_match_all('/NOT READY/m',$result,$not_ready_match,PREG_PATTERN_ORDER);
return (count($not_ready_match[0]) == 0) ? false : $result;
} else { return false; }
} catch (\Exception $exception){ return false; }
}
}
Любая помощь будет оценена