国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

thinkphp 5中使用crontab,如何stop服務(wù)

hiker588

我在thinkphp 5中整合了Workerman后,使用Crontab作為定時(shí)任務(wù),根據(jù)官方提供的文檔,已經(jīng)整合成功,具體環(huán)境及軟件版本如下:

  • Linux 7
  • php 7.2
  • thinkphp 5.0.10
  • workerman/workerman 3.5.23
  • workerman/crontab 1.0

整合完成后,使用 php crm_server.php start -d可以正常啟動(dòng)守護(hù)進(jìn)程,且以下代碼執(zhí)行成功:
截圖

但是此時(shí)想要停止Workerman中的Crontab定時(shí)任務(wù),使用php crm_server.php stop卻無法停止,報(bào)錯(cuò)信息如下:
截圖

此時(shí)在以上代碼的Kernel控制器中新增stop()方法:
截圖

然后再次執(zhí)行php crm_server.php stop,報(bào)錯(cuò)信息已經(jīng)消失,但是任務(wù)依然沒有終止:
截圖

日志文件中依然會(huì)有輸出:
截圖

按照添加stop()的方法,添加reload()、restart()、status()方法然后調(diào)用Workerman中的對(duì)應(yīng)方法,依然無效果,請(qǐng)問各位大佬,此時(shí)我應(yīng)該如何實(shí)現(xiàn)php crm_server.php + stop、reload、restartstatus的功能?

3812 1 0
1個(gè)回答

walkor 打賞

看起來是tp截獲了命令,導(dǎo)致workemran無法收到命令。

不知道你為什么把tp和workemran整合在一起,如果你想在workerman中用tp的數(shù)據(jù)庫類,沒必要把tp和workerman在代碼層面整合在一起,只需要在純凈的workerman項(xiàng)目中利用composer require topthink/think-orm將tp的數(shù)據(jù)庫組件加進(jìn)來即可。tp-orm手冊(cè) https://www.kancloud.cn/manual/think-orm/1257998

  • hiker588 2020-12-25

    現(xiàn)在不確定是不是tp截獲了命令,我按照您在另外一個(gè)帖子里提供的方法,在代碼中執(zhí)行 posix_kill(posix_getppid(), SIGINT); 命令依然無法停止。我先試一下您說的workerman整合tp-orm的方法,看看修改成本大不大。非常感謝。

年代過于久遠(yuǎn),無法發(fā)表回答
??