Я пытаюсь запустить очередь, используя yii, чтобы я мог выполнить некоторые тесты, но всякий раз, когда я набираю команду yii queue / run, кажется, что никакая работа не помещается в ожидание,
Для отправки информации об идентификаторе и статусе задания, которое при выполнении условий будет запущено на главной странице
Это код, который отправляет данные в очередь:
class HorarioController extends Controller
{
public function actionBuscar()
{
$hora = date("H").":00".":00";
$dia = date("N");
$horarios = Horarios_Equipos::find()->all();
foreach($horarios as $horario)
{
echo $horario->id_equipo."\n";
echo $horario->estado."\n";
//enviar a cola
Yii::$app->queue->push(
new HorarioJob([
'id_equipo' => $horario->id_equipo,
'estado' => $horario->estado,
])
);
}
return ExitCode::OK;
}
}
А это код, который выполняет действие в очереди
public function execute($queue)
{
if($estado == '1'){
if($pin == 1)
{
$equipo = Equipos::find()->where(['id'=>$id])->one();
$equipo->estado = '1';
$equipo->save ();
$curl = new curl\Curl();
$response = $curl->get($equipo->ip.'/gpio/LEDa=ON');
return $this->redirect(['view', 'id' => $id]);
}
elseif ($pin == 2)
{
$equipo = Equipos::find()->where(['id'=>$id])->one();
$equipo->estado = '1';
$equipo->save ();
$curl = new curl\Curl();
$response = $curl->get($equipo->ip.'/gpio/LEDb=ON');
return $this->redirect(['view', 'id' => $id]);
}
elseif ($pin == 3)
{
$equipo = Equipos::find()->where(['id'=>$id])->one();
$equipo->estado = '1';
$equipo->save ();
$curl = new curl\Curl();
$response = $curl->get($equipo->ip.'/gpio/LEDc=ON');
return $this->redirect(['view', 'id' => $id]);
}
elseif ($pin == 4)
{
$equipo = Equipos::find()->where(['id'=>$id])->one();
$equipo->estado = '1';
$equipo->save ();
$curl = new curl\Curl();
$response = $curl->get($equipo->ip.'/gpio/LEDd=ON');
return $this->redirect(['view', 'id' => $id]);
}
}
if ($estado == 0){
if ($pin == '1')
{
$equipo = Equipos::find()->where(['id'=>$id])->one();
$equipo->estado = '0';
$equipo->save ();
$curl = new curl\Curl();
$response = $curl->get($equipo->ip.'/gpio/LEDa=OFF');
return $this->redirect(['view', 'id' => $id]);
}
if ($pin == '2')
{
$equipo = Equipos::find()->where(['id'=>$id])->one();
$equipo->estado = '0';
$equipo->save ();
$curl = new curl\Curl();
$response = $curl->get($equipo->ip.'/gpio/LEDb=OFF');
return $this->redirect(['view', 'id' => $id]);
}
if ($pin == '3')
{
$equipo = Equipos::find()->where(['id'=>$id])->one();
$equipo->estado = '0';
$equipo->save ();
$curl = new curl\Curl();
$response = $curl->get($equipo->ip.'/gpio/LEDc=OFF');
return $this->redirect(['view', 'id' => $id]);
}
if ($pin == '4')
{
$equipo = Equipos::find()->where(['id'=>$id])->one();
$equipo->estado = '0';
$equipo->save ();
$curl = new curl\Curl();
$response = $curl->get($equipo->ip.'/gpio/LEDd=OFF');
return $this->redirect(['view', 'id' => $id]);
}
}
}
}
Это то, что показывает, когда я запускаю очередь / запуск yii:
C:\xampp\htdocs\accontrol>yii queue/run
C:\xampp\htdocs\accontrol>
И если я запускаю yii queue / info, это показывает только следующее:
C:\xampp\htdocs\accontrol>yii queue/info
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 0
Насколько я знаю, файлы, в которых написаны функции очереди, правильные, и я должен иметь возможность выполнить команду queue / run, по крайней мере, получить сообщение об ошибке, чтобы увидеть, где я ошибаюсь, но это не так