cron定时器写的每天0点50分执行一次,但是到了时间间隔2秒会执行一次,一直到这一分钟完毕才停止

wp

cron定时器写的每天0点50分执行一次,但是到了时间间隔2秒会执行一次,一直到这一分钟完毕才停止

截图

截图

下面补充全部代码

<?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";
        });
    }
}
1494 4 2
4个回答

小W

多进程?

  • wp 2022-10-20

    没有多进程,而且只有每天执行一次的任务会这样

oliusha

同样遇到这样的问题,即使执行了销毁操作,也是要到下一分钟才会停止,不知道是不是我的使用姿态不正确。

  • wp 2022-10-28

    你解决了吗,我升级了版本还是有问题

2548a

我刚刚测试了下,并没有你说这种情况,只执行了一次就没有后续了
截图
截图

  • wp 2022-10-20

    你是哪个版本

  • 2548a 2022-10-20

    workerman/crontab v1.0.5

  • wp 2022-10-20

    好的谢谢,我是1.0,我升级下看看

  • demoo 2022-10-21

    HXD,你这 任务执行情况后台页面是开源的框架还是自己写的?

  • 2548a 2022-10-21

    crontab的任务管理组件我前几天已经放到分享那的了.

小W

是不是版本不一样? 其他代码逻辑有没有影响

  • wp 2022-10-20

    我刚补充了全部代码,大佬看看

  • wp 2022-10-20

    我用的阿里云的源,下载的最新的是1.0.0,换了原始源下载的就是1.0.6了,我跑一下看看

  • liziyu 2022-10-28

    @wp大佬跑的咋样了?^_^

  • wp 2022-10-29

    还是有重复,但是规律不确定,不知道咋回事

年代过于久远,无法发表回答
🔝