찾다
PHP 프레임워크SwooleSwoole에서 예약된 작업을 구현하는 방법

방법: 1. "swoole_timer_after(시간, 실행될 함수)" 문을 사용하여 지정된 시간 이후에 작업을 실행합니다. 2. "swoole_timer_tick(시간, 실행할 함수, 콜백 함수)" 문을 사용하여 설정합니다. 간격 시계 타이머 타이밍 작업을 수행합니다.

Swoole에서 예약된 작업을 구현하는 방법

이 튜토리얼의 운영 환경: Windows 10 시스템, Swoole 4 버전, DELL G3 컴퓨터

swoole로 예약된 작업을 구현하는 방법

swoole_timer_after

지정된 시간 이후에 기능을 실행하려면 swoole -1.7.7 이상이 필요합니다.

swoole_timer_after(int $after_time_ms, mixed $callback_function);

swoole_timer_after 함수는 실행이 완료된 후 소멸되는 일회성 타이머입니다. 이 함수는 PHP 표준 라이브러리에서 제공하는 sleep 함수와 다릅니다. 슬립 호출이 이루어진 후에는 현재 프로세스가 차단되고 새 요청을 처리할 수 없습니다.

  • $after_time_ms는 시간을 밀리초 단위로 지정합니다.

  • $callback_function 시간이 만료된 후 실행되는 함수는 호출 가능해야 합니다. 콜백 함수는 어떤 매개변수도 허용하지 않습니다.

  • $after_time_ms 최대값은 86400000

사용 예

swoole_timer_after(1000, function(){
    echo "timeout\n";
});

swoole_timer_tick

간격 시계 타이머를 설정합니다. swoole_timer_clear를 호출하여 지워질 때까지 계속 실행합니다. swoole_timer_add와 달리 틱 타이머는 동일한 간격으로 여러 타이머를 가질 수 있습니다.

int swoole_timer_tick(int $ms, mixed $callback, mixed $param = null);
  • $ms는 시간을 밀리초 단위로 지정합니다.

  • $callback_function 시간이 만료된 후 실행되는 함수는 호출 가능해야 합니다. 콜백 함수는 어떤 매개변수도 허용하지 않습니다.

  • $param 콜백 매개변수

  • $ms는 86400000

tick 타이머는 버전 1.7.14 이상에서 사용할 수 있습니다.

tick 타이머는 곧 swoole_timer_add를 대체합니다.

콜백 함수

타이머에 의해 실행되는 콜백 함수는 2개의 매개변수를 받습니다.

function onTimer(int $timer_id, mixed $params = null);
  • $timer_id 이 타이머를 지우기 위해 swoole_timer_clear에 사용할 수 있는 타이머의 ID

  • $params swoole_timer_tick이 전달한 사용자 매개변수

사용 예

swoole_timer_tick(1000, function(){
    echo "timeout\n";
});

추천 학습 : 스울 튜토리얼

위 내용은 Swoole에서 예약된 작업을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
workerman和swoole性能谁更好?如何选择?workerman和swoole性能谁更好?如何选择?Dec 01, 2022 am 10:00 AM

workerman 对比 swoole 实际开发项目中,你会选择哪个?对于新手学哪个较好,有什么建议吗?

swoole和go选哪个?优缺点分析swoole和go选哪个?优缺点分析Mar 27, 2023 pm 03:29 PM

在现代的应用开发中,异步编程在高并发场景下变得越来越重要。Swoole和Go是两个非常流行的异步编程框架,它们都具有高效的异步能力,但是很多人在选择使用哪个框架时会陷入困境。本文将探讨如何选择Swoole和Go,以及它们的优缺点。

swoole怎么学?学会要多久?swoole怎么学?学会要多久?Mar 27, 2023 pm 03:29 PM

你学会 Swoole 需要多久呢?这个问题其实非常难回答,因为它涉及到很多因素,比如你的编程基础、学习动力、时间安排等等。不过,在这篇文章中,我将分享一些我自己学习 Swoole 的经验和建议,希望能够对你有所帮助。

探讨一下web服务器为什么不用swoole探讨一下web服务器为什么不用swooleMar 27, 2023 pm 03:29 PM

​Swoole是一个基于PHP的开源高性能网络通信框架,它提供了TCP/UDP服务器和客户端的实现,以及多种异步IO、协程等高级特性。随着Swoole日益流行,许多人开始关心Web服务器使用Swoole的问题。为什么当前的Web服务器(如Apache、Nginx、OpenLiteSpeed等)不使用Swoole呢?让我们探讨一下这个问题。

聊聊怎么在docker中搭建swoole环境聊聊怎么在docker中搭建swoole环境Jun 28, 2022 pm 09:02 PM

怎么在docker中搭建swoole环境?下面本篇文章给大家介绍一下用docker搭建swoole环境的方法,希望对大家有所帮助!

2023最新swoole视频教程推荐(从入门到高级)2023最新swoole视频教程推荐(从入门到高级)Oct 25, 2019 pm 02:09 PM

以下为大家整理了php异步通信框架Swoole的视频教程,不需要从迅雷、百度云之类的第三方平台下载,全部在线免费观看。教程由浅入深,有php基础的人就能学习,从安装到案例讲解,全面详细,帮助你更快更好的掌握Swoole框架!

php如何让Swoole/Pool进程池实现Redis持久连接php如何让Swoole/Pool进程池实现Redis持久连接May 27, 2023 pm 05:55 PM

php让Swoole|Pool进程池实现Redis持久连接进程池,基于Swoole\Server的Manager管理进程模块实现。可管理多个工作进程,相比Process实现多进程,Process\Pool更加简单,封装层次更高,开发者无需编写过多代码即可实现进程管理功能,配合Co\Server可以创建纯协程风格的,能利用多核CPU的服务端程序。Swoole进程池实现redis数据读取如下案例,通过WorkerStart启动Redis进程池,并持久读取Redis列表数据;当WorkerStop断开

怎么安装和调用Swoole(步骤分享)怎么安装和调用Swoole(步骤分享)Mar 28, 2023 am 10:17 AM

Swoole是一种基于PHP语言的网络通信框架,它能够提供异步、并发、高性能的HTTP、WebSocket以及TCP/UDP协议服务器和客户端,在开发Web服务以及网络通信应用时都有很大的用途,广泛应用于一些互联网公司。本文将介绍如何使用Swoole调用。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구