1、使用系統(tǒng)的定時任務(wù)
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比安定網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式安定網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋安定地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。
2、找個被頻繁訪問的網(wǎng)頁,在里面寫判斷程序
3、執(zhí)行一個文件,讓它死循環(huán)或者一直執(zhí)行下去
mysql定時任務(wù)
自 MySQL5.1.6起,增加了一個非常有特色的功能–事件調(diào)度器(Event Scheduler),可以用做定時執(zhí)行某些特定任務(wù)(例如:刪除記錄、對數(shù)據(jù)進(jìn)行匯總等等),來取代原先只能由操作系統(tǒng)的計劃任務(wù)來執(zhí)行的工作。更值得 一提的是MySQL的事件調(diào)度器可以精確到每秒鐘執(zhí)行一個任務(wù),而操作系統(tǒng)的計劃任務(wù)(如:Linux下的CRON或Windows下的任務(wù)計劃)只能精 確到每分鐘執(zhí)行一次。對于一些對數(shù)據(jù)實時性要求比較高的應(yīng)用(例如:股票、賠率、比分等)就非常適合。
如:每隔30秒將執(zhí)行存儲過程test,將當(dāng)前時間更新到examinfo表中id=14的記錄的endtime字段中去.
CREATE PROCEDURE test ()
BEGIN
update examinfo SET endtime = now() WHERE id = 14;
END;
create event if not exists e_test
on schedule every 30 second
on completion preserve
do call test();
2. windows、linux 的定時任務(wù) 這個就不舉例了,通過腳本定時去調(diào)用mysql執(zhí)行
有 2 種方式;
第一種,由 crontab 定時任務(wù)指定,定時在每個月 7 號執(zhí)行一個腳本或訪問一個連接,然后在這個腳本中執(zhí)行邏輯處理;(crontab 用法可以網(wǎng)上搜一下,有許多 blog 博客講得挺詳細(xì)的,在這里就不贅述了)
第二種,crontab 可以定時不停地執(zhí)行,但是要在腳本中加入條件做判斷;例如:
if ( date( 'd', time() ) == 7) {
// 是 7 號,在這里執(zhí)行邏輯判斷或調(diào)用方法;
} else {
// 不是 7 號,直接返回;
return false;
}
當(dāng)然了,這兩種方式結(jié)合起來會比較穩(wěn)妥,既用 crontab 指定一個任務(wù)在 7 號定時執(zhí)行,又在腳本中增加是否是 7 號的判斷,防止不是 7 號的時候腳本也被誤執(zhí)行;
分兩個步驟:
1. PHP程序里實現(xiàn):
根據(jù)當(dāng)前系統(tǒng)時間,查出超出三天的數(shù)據(jù),并刪除這些數(shù)據(jù);
2. 系統(tǒng)定時任務(wù)執(zhí)行步驟1的PHP程序
如果是Linux系統(tǒng),設(shè)置Crontab任務(wù),每天晚上12點執(zhí)行;
如果是Windows系統(tǒng),設(shè)置計劃任務(wù),每天晚上12點執(zhí)行。