Использование очереди для запуска команды с помощью curl - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь запустить команду, чтобы отправить сигнал на мое устройство Arduino, чтобы он мог включить один из светодиодов, процесс выполняется через очередь, работы помещаются в очередь, и как только они получаютони запускались в определенное время, они запускались с использованием метода curl, но я не уверен, как написать код.

Я запускаю код с помощью Sublime Text 3 и php, I 'я пытался запустить его с помощью curl, который я уже запрограммировал, но не думаю, что он работает таким образом, я попытался провести исследование и посмотреть, нужна ли мне специальная команда для использования curl с очередью, я нашел это: https://github.com/adawley/php-curl-queue но не уверен, как реализовать это в моем коде

Это код, в котором задания выполняются из очереди:

namespace app\commands;

use Yii;
use app\models\Equipos;
use app\models\EquiposSearch;
use app\models\Horarios_Equipos;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
use yii\data\ActiveDataProvider;
use skeeks\yii2\curl;

class HorarioJob extends \yii\base\BaseObject implements 
\yii\queue\JobInterface
{
public $id_equipo;
public $estado;

public function execute($queue)
{
    if ($estado == 1){

        $curl = new curl\Curl();

    $response = $curl->get($equipo->ip.'/gpio/LEDa=ON');

}




    }
}

Это код, где задания помещаются в очередь:

<?php
/**
 * @link http://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

namespace app\commands;

use yii\console\Controller;
use yii\console\ExitCode;
use app\models\Horarios_Equipos;


/**
 * This command echoes the first argument that you have entered.
 *
 * This command is provided as an example for you to learn how to create 
 console commands.
 *
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @since 2.0
 */
 class HorarioController extends Controller
 {
 /**
 * This command echoes what you have entered as the message.
 * @param string $message the message to be echoed.
 * @return int Exit code
 */
public function actionBuscar()
{
    $hora = date("H").":00".":00";
    $dia = date("N");

    $horarios = Horarios_Equipos::find()->where([
        'hora' => $hora,
        'dia' => $dia,
    ])->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;
}

}

Как только я запускаю очередь, устройство arduino должно повернуть светодиод, соответствующий идентификатору, который он получает из базы данных, но пока он не имеет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...