Thinkphp框架下跑php腳本 nohup &

第一步:框架裏-項目目錄裏command.php裏增加'app\command\Insert‘ 、注(Insert:這個可以改成你需要命名的)

第二部:框架裏-項目目錄裏command目錄下創建:Insert.php(Insert就是你剛剛需要命名的)

打開Insert.php 創建:

<?php

namespace app\command;

use think\console\Command;

use think\Db;

class Insert extends Command

{

//配置你要觸發的名稱
    protected function configure()
    {

       //(腳本的名稱)      (名稱)
        $this->setName('insert')->setDescription('添加數據');
    }

   //將要執行的代碼放到這
    protected function execute(Input $input, Output $output)
    {
        Db::table("keyword")->insert                
       (['uid'=>8888,'openid'=>'INbjsj7286163bBSNJb','phone'=>'176005370561111','keyword'=>'1','keyword2'=>'2','keywr']);
    }

}

如果是linux上跑這個php腳本的話:在項目根目錄下:php think insert   注:(這個insert是configure()方法裏的$this->setName('insert'))

windows上的話:就是打開項目根目錄:php think insert 就可以了,

如果想一直讓當前腳本跑起來並且在後臺一直運行不掛斷可以使用:nohup      &

nohup  php  think  insert  >/dev/null  2>&1  &

setsid php think host-report > /home/www/PC-MRST-S20/MQTT.log &

如果跑成功了數據庫keyword表裏就會增加一條數據

我們每一次請求都是在http去web服務器都會經過nginx服務器進行請求php,php-fpm得到後會開啓進程和線程fast-cig,如果我們在處理大數據或者請求比較頻繁的情況下,每一次請求nginx都會去等待php處理結果後返回,這就可能導致php還在處理的時候,nginx這個web服務器請求時間太長就報504或者502,網關請求超時的情況。這個時候我們就不能使用http去請求,可以選擇請求php腳本了,當然我最近在做每半小時處理6000個用戶,跑php腳本可能滿足,如果太大的話,可以選擇用消息隊列,異步進行存儲

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章