60 lines
1.7 KiB
PHP
60 lines
1.7 KiB
PHP
<?php
|
|
/**
|
|
* @link http://www.yiiframework.com/
|
|
* @copyright Copyright (c) 2008 Yii Software LLC
|
|
* @license http://www.yiiframework.com/license/
|
|
*/
|
|
|
|
namespace app\commands;
|
|
|
|
use app\models\BallCart;
|
|
use app\models\BallMark;
|
|
use app\modules\api\components\Mqtt;
|
|
use yii\console\Controller;
|
|
use yii\console\ExitCode;
|
|
use \PhpMqtt\Client\MQTTClient;
|
|
use \PhpMqtt\Client\ConnectionSettings;
|
|
use app\models\Store;
|
|
|
|
/**
|
|
* 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 Script5minController 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 actionIndex()
|
|
{
|
|
$redis_name = "cxaibc:console:script5min_lock";
|
|
try {
|
|
$get = \Yii::$app->redis->setnx($redis_name,1);
|
|
if(empty($get)){
|
|
$ttl = \Yii::$app->redis->ttl($redis_name);
|
|
if($ttl === -1){
|
|
\Yii::$app->redis->expire($redis_name,60);
|
|
}
|
|
var_dump("5分钟脚本正在执行中");
|
|
exit();
|
|
}
|
|
\Yii::$app->redis->expire($redis_name,60*10);
|
|
// 执行体
|
|
|
|
// 结束执行
|
|
\Yii::$app->redis->del($redis_name);
|
|
}catch (\Exception $e){
|
|
\Yii::$app->redis->del($redis_name);
|
|
var_dump($e->getMessage());
|
|
}
|
|
echo "5分钟脚本";
|
|
exit();
|
|
}
|
|
}
|