A. php discuz的定時任務是什麼原理怎麼實現的求高手解答
php中定時計劃任務的實現原理:
當 PHP 腳本正常地運行 NORMAL 狀態時,連接為有效。當遠程客戶端中斷連接時,ABORTED 狀態的標記將會被打開。遠程客戶端連接的中斷通常是由用戶點擊 STOP 按鈕導致的。當連接時間超過 PHP 的時限時,TIMEOUT 狀態的標記將被打開。
示例代碼:
<?php
ignore_user_abort(true);set_time_limit(0);
date_default_timezone_set('PRC'); // 切換到中國的時間
$run_time = strtotime('+1 day'); // 定時任務第一次執行的時間是明天的這個時候
$interval = 3600*12; // 每12個小時執行一次
if(!file_exists(dirname(__FILE__).'/cron-run')) exit(); // 在目錄下存放一個cron-run文件,如果這個文件不存在,說明已經在執行過程中了,該任務就不能再激活,執行第二次,否則這個文件被多次訪問的話,伺服器就要崩潰掉了
do {
if(!file_exists(dirname(__FILE__).'/cron-switch')) break; // 如果不存在cron-switch這個文件,就停止執行,這是一個開關的作用
$gmt_time = microtime(true); // 當前的運行時間,精確到0.0001秒
$loop = isset($loop) && $loop ? $loop : $run_time - $gmt_time; // 這里處理是為了確定還要等多久才開始第一次執行任務,$loop就是要等多久才執行的時間間隔
$loop = $loop > 0 ? $loop : 0;
if(!$loop) break; // 如果循環的間隔為零,則停止
sleep($loop);
// ...
// 執行某些代碼
// ...
@unlink(dirname(__FILE__).'/cron-run'); // 這里就是通過刪除cron-run來告訴程序,這個定時任務已經在執行過程中,不能再執行一個新的同樣的任務
$loop = $interval;
} while(true);
B. php裡面的sleep函數是秒級別的嗎怎麼sleep毫秒級
底部按鈕是配置文件切換鍵。
當使用滑鼠底部的配置文件按鈕時,按下配置文件按鈕將提升一個配置文件。[需要安裝100個Razer配置器,比如RazerSynaPSe3)
當切換啟用的配置文件時,雷蛇煉獄蝰蛇閃爍相應的次數——例如,如果配置文件3被激活,滑鼠閃爍三次以表明配置文件已被選擇。
(2)php開關按鈕擴展閱讀:
雷蛇的精英版地獄毒蛇不同於地獄毒蛇如下:
1.不同的感測器:
viper感測器是一個本機6400DPI光學感測器,最大解析度為6400DPI。煉獄蝰蛇精英感測器是16000DPI第五代光學發動機感測器。
2.不同數量的可編程鍵:
常規版本的煉獄毒蛇有五個可編程的按鈕和雷蛇獨特的飛行感應模式按鈕在底部。與之前的版本相比,地獄毒蛇精英版有7個按鈕,並且取消了底部的飛行感應模式。
3.不同的滑鼠移動和側邊裙:
煉獄蝰蛇精英配備了一個新的微開關,由雷蛇和歐姆龍設計,以及改善滾動感覺和雙向DPI調整按鈕。精英側裙由橡膠製成,而標准側裙由塑料製成。
4.不同的滑鼠重量:
標准版的《煉獄蝰蛇》重96克/0.211磅(不含電纜),而精英版的《煉獄蝰蛇》重105克/0.23磅。
5.可調節背光效果:
標准版的煉獄毒蛇背光只支持單色背光,不能與雷蛇驅動背光。地獄蝰蛇精英背光有1680萬的幻影燈定製顏色選項,可以與雷蛇驅動背光。