* @since 2.0 */ class Script60minController 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:script60min_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("60分钟脚本脚本正在执行中"); 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 "60分钟脚本"; exit(); } }