下面补充全部代码
<?php
namespace process;
use GuzzleHttp\Client;
use Workerman\Crontab\Crontab;
class TaskSocial
{
private $domain = '';
public function onWorkerStart()
{
// 异步内容审核 每分钟执行一次
new Crontab('0 */1 * * * *', function () {
$client = new Client();
$response = $client->get($this->domain . '/api_v5/crontab_api/crontab_audit');
echo "异步内容审核 " . date('Y-m-d H:i:s') . "\n";
echo $response->getBody() . "\n";
//清除所有过期的心跳 统计等级 每分钟一次
$response = $client->get($this->domain . '/api/crontab_api/service_crontab');
echo "清除所有过期的心跳 统计等级 " . date('Y-m-d H:i:s') . "\n";
echo $response->getBody() . "\n";
});
// 每5秒执行一次 自动打招呼
new Crontab('*/5 * * * * *', function () {
$client = new Client();
$response = $client->get($this->domain . '/api/crontab_api/service_see_hi_crontab');
echo "自动打招呼 " . date('Y-m-d H:i:s') . "\n";
echo $response->getBody() . "\n";
});
// 财务记录 代理数据统计 每日统计一次
new Crontab('50 0 * * *', function () {
$client = new Client();
$response = $client->get(($this->domain . '/api_v5/crontab_api/crontab_finance'));
echo "财务记录 " . date('Y-m-d H:i:s') . "\n";
echo $response->getBody() . "\n";
$response = $client->get(($this->domain . '/api/crontab_api/add_channel_users'));
echo "代理数据统计 " . date('Y-m-d H:i:s') . "\n";
echo $response->getBody() . "\n";
$response = $client->get(($this->domain . '/api/crontab_api/business_day'));
echo "获取昨天的营业-每日凌晨统计 " . date('Y-m-d H:i:s') . "\n";
echo $response->getBody() . "\n";
// 聊天记录
$response = $client->get(($this->domain . '/api_v5/crontab_api/chat_log'));
echo "聊天记录保存文件 " . date('Y-m-d H:i:s') . "\n";
echo $response->getBody() . "\n";
});
}
}
多进程?
没有多进程,而且只有每天执行一次的任务会这样
同样遇到这样的问题,即使执行了销毁操作,也是要到下一分钟才会停止,不知道是不是我的使用姿态不正确。
你解决了吗,我升级了版本还是有问题
我刚刚测试了下,并没有你说这种情况,只执行了一次就没有后续了
你是哪个版本
workerman/crontab v1.0.5
好的谢谢,我是1.0,我升级下看看
HXD,你这 任务执行情况后台页面是开源的框架还是自己写的?
crontab的任务管理组件我前几天已经放到分享那的了.
是不是版本不一样? 其他代码逻辑有没有影响
我刚补充了全部代码,大佬看看
我用的阿里云的源,下载的最新的是1.0.0,换了原始源下载的就是1.0.6了,我跑一下看看
@wp大佬跑的咋样了?^_^
还是有重复,但是规律不确定,不知道咋回事