聯(lián)系官方銷(xiāo)售客服
1835022288
028-61286886
任務(wù)隊(duì)列怎么使用
自定義函數(shù)是
function my_cron_dingshi($params) { $data = array( 'uid' => $params['code1'], 'title' => $params['code2'], 'inputtime' => SYS_TIME ); $rt = \Phpcmf\Service::M()->db->table('1_form_test')->insert($data); if($rt){ return dr_return_data(1, 'ok'); }else{ return dr_return_data(0, '失敗原因'); } }
定義了一個(gè)控制器
public function test() { // 寫(xiě)你的程序代碼 $rt = \Phpcmf\Service::M('cron')->add_cron(SITE_ID, "dingshi", [ 'code1' => '參數(shù)1', 'code2' => '參數(shù)2', 'code3' => '參數(shù)3', ]); print_r($rt); }
手動(dòng)訪問(wèn)控制器的結(jié)果
Array ( [code] => 118 [msg] => [data] => Array ( ) )
后臺(tái)中任務(wù)隊(duì)列中沒(méi)有看到添加的任務(wù),但是發(fā)現(xiàn)表中插入了數(shù)據(jù)
執(zhí)行成功的任務(wù)會(huì)刪除記錄的,所以你看不到記錄
那怎么加入隊(duì)列
文檔上應(yīng)該就是說(shuō)添加add_cron的那個(gè)函數(shù)
回復(fù)@平平
發(fā)現(xiàn)表中插入了數(shù)據(jù),說(shuō)明這個(gè)任務(wù)已經(jīng)執(zhí)行成功啦,說(shuō)明你成功了
我可能沒(méi)說(shuō)清楚,是1_form_test表插入數(shù)據(jù)
但應(yīng)該是先把任務(wù)插入到任務(wù)隊(duì)列,然后到點(diǎn)再執(zhí)行任務(wù)吧
我這里是都沒(méi)插入到任務(wù)隊(duì)列,任務(wù)就直接執(zhí)行了
回復(fù)@如來(lái)
1_form_test表插入數(shù)據(jù)說(shuō)明你任務(wù)已經(jīng)成功了
流程是:
先把任務(wù)插入到任務(wù)隊(duì)列
分支1:然后系統(tǒng)就自動(dòng)執(zhí)行任務(wù),執(zhí)行完畢,入庫(kù)formtest表記錄,刪除任務(wù)隊(duì)列記錄
分支2:如果沒(méi)有設(shè)置自動(dòng)任務(wù)代碼,就會(huì)先入庫(kù)到任務(wù)對(duì)列表,然后手動(dòng)去點(diǎn)執(zhí)行,點(diǎn)了執(zhí)行成功,刪除本條任務(wù)記錄
作者之前推薦使用cron.php
我現(xiàn)在的問(wèn)題是怎么插入到任務(wù)隊(duì)列
看文檔是寫(xiě)那個(gè)add_cron的函數(shù)就行了
但是我執(zhí)行那個(gè)函數(shù)就直接入庫(kù)formtest表了
回復(fù)@易學(xué)習(xí)
怎么用呢
回復(fù)@胡金海
這個(gè)id 118就是任務(wù)隊(duì)列的記錄id號(hào),應(yīng)該你已經(jīng)執(zhí)行成功了,系統(tǒng)就刪除了118的記錄,你就看不到,學(xué)習(xí)哥分析的好
你把參數(shù)改成0,故意讓他失敗,你就可以在任務(wù)隊(duì)列里面看到了,
因?yàn)槟愣紙?zhí)行成功了,cms會(huì)自動(dòng)刪除記錄的
現(xiàn)在是執(zhí)行這個(gè)函數(shù)
就直接執(zhí)行了這個(gè)函數(shù)
按您的參數(shù)改成0,確實(shí)看到在隊(duì)列里了。但是這樣我直接執(zhí)行my_cron_dingshi就行了啊
任務(wù)隊(duì)列不就是為了先準(zhǔn)備幾個(gè)任務(wù),然后到時(shí)間訪問(wèn)/index.php?s=api&c=run作為定時(shí)任務(wù)嗎
回復(fù)@易學(xué)習(xí)
那可能是創(chuàng)始人技術(shù)大神的程序有bug,我發(fā)郵件問(wèn)問(wèn)創(chuàng)始人大哥
好的謝謝
那請(qǐng)問(wèn)一下,定時(shí)任務(wù),您們都是怎么處理的?
回復(fù)@易學(xué)習(xí)
我習(xí)慣用的這個(gè)方法
參考文檔:《自定義任務(wù)Cron.php》
定時(shí)我都寫(xiě)進(jìn)bt面板里面