首页 > 其他分享 >workerman定时任务使用

workerman定时任务使用

时间:2023-08-25 11:07:18浏览次数:36  
标签:task interval workerman start 任务 定时 php 2.5


定时任务在有些场合很实用,像淘宝的自动确认收货就必须放在服务端进行,这时workeran的定时任务就派上用场了,它可以支持毫秒,crontab的粒度是一分钟

需要注意的是因为定时任务一直在执行,业务逻辑里太耗时的需要使用异步操作,如用AsyncTcpConnection异步创建个tcp连接,把耗时操作放在这个连接里面处理

可以在Applications/Chat/目录按规范新建个文件如start_timer.php,这样在php start.php start -d时会自动执行

start_timer.php

<?php
use \Workerman\Worker;
use \Workerman\Lib\Timer;
require_once './Workerman/Autoloader.php';

$task = new Worker();
// 开启多少个进程运行定时任务,注意多进程并发问题
$task->count = 1;
$task->onWorkerStart = function($task)
{
    // 每2.5秒执行一次 支持小数,可以精确到0.001,即精确到毫秒级别
    $time_interval = 2.5;
    Timer::add($time_interval, function()
    {
        echo "task run\n";
    });
};

// 运行worker
Worker::runAll();





标签:task,interval,workerman,start,任务,定时,php,2.5
From: https://blog.51cto.com/u_2148212/7227471

相关文章

  • Python SAP 脚本定时自动下载资产清单 S_ALR_87011990
    业务场景使用了外部工作流系统管理固定资产申请,转移(负责人变更),盘点,报废等涉及固定资产的业务,而固定资产采购,折旧等仍在SAP中进行,所以需要定时从SAP中下载包括固定资产账面值的固定资产清单,以作为工作流审批节点流转的依据主要功能说明定时运行自动登录SAP下载SAP固定资......
  • cmd执行任务时间差计算脚本
    @echooffsetlocalenabledelayedexpansionREM===========================dosomethingsetstart_time=%time%timeout/t3setend_time=%time%REM===========================deltatimeset/adelta_hours=1%end_time:~0,2%-1%start_time:~0,2%set/adelta_......
  • Springboot K8s Job 一次性任务 如何禁用端口监听
    问题:SpringBoot一次性任务执行时,也会默认监听服务端口,当使用k8sjob运行时,可能多个pod执行存在端口冲突解决办法:命令行禁用SpringBoot一次性任务启动时端口占用java-cp./XXX-Dspring.config.location=/home/XXXX.propertiesorg.springframework.boot.loader.Properties......
  • springboot中2种配置定时任务
    1、@Schedule用@Schedule注解,直接放到方法上就可以生效,代码如下:@Scheduled(cron="0*/5***?")publicvoiddealResult(){log.info("开始执行定时任务......");DefaultProfileprofile=DefaultProfile.getProfile(rdsConf......
  • BCEloss和多标签任务
    BCEWithLogLoss(BinaryCrossEntropywithLogLoss)和BCE(BinaryCrossEntropy)是两种常用的二分类损失函数,它们的区别主要在于损失函数的形式和计算方式上。BCEWithLogLoss是基于对数损失函数的二分类损失函数。它的计算公式为:BCEWithLogLoss(y,ŷ)=-y*log(ŷ)-(1-y)......
  • 直播系统开发,springboot指定时间触发定时任务
    直播系统开发,springboot指定时间触发定时任务新建测试Demo类执行定时任务 packagecom.task.zhixingshijian;importjava.time.LocalDateTime;importjava.time.temporal.ChronoField;importjava.util.*;/** *@authorwuzhenyong *ClassName:TaskDemo.java *date:2022-......
  • 【STM32】4_0 基础定时器
    基础定时器TIME6和TIME7基本定时器•16位计数器(Counter):基础定时器内部有一个16位的自动增减计数器。计数器可以通过软件或外部触发递增。•时钟源(ClockSource):基础定时器可以使用不同的时钟源作为计数器的输入时钟。通常,它可以选择使用内部时钟(如系统时钟)或外部时钟(如外部......
  • 【STM32】4_0 基础定时器
    基础定时器TIME6和TIME7基本定时器•16位计数器(Counter):基础定时器内部有一个16位的自动增减计数器。计数器可以通过软件或外部触发递增。•时钟源(ClockSource):基础定时器可以使用不同的时钟源作为计数器的输入时钟。通常,它可以选择使用内部时钟(如系统时钟)或外部时钟(如外部......
  • Mysql 定时备份数据库脚本
    Mysql定时备份数据库;并且删除X天前的备份数据;1.  创建数据目录mkdirdatacd/data2.  编写脚本文件    vim  backup.sh#!/bin/bash#日期dd=`date+%Y-%m-%d-%H-%M-%S`#保存备份个数,备份2天数据backup_clean_day=2#用户名username=root#密......
  • Spring Boot + Spring Batch 实现批处理任务,保姆级教程!(场景实战)
    来源:blog.csdn.net/qq_35387940/article/details/108193473前言概念词就不多说了,我简单地介绍下,springbatch是一个方便使用的较健全的批处理框架。为什么说是方便使用的,因为这是基于spring的一个框架,接入简单、易理解、流程分明。为什么说是较健全的,因为它提供了往......