10w定时任务,如何高效触发超时
一、缘起
很多时候,业务有定时任务或者定时超时的需求,当任务量很大时,可能需要维护大量的timer,或者进行低效的扫描。
例如:58到家APP实时消息通道系统,对每个用户会维护一个APP到服务器的TCP连接,用来实时收发消息,对这个TCP连接,有这样一个需求:“如果连续30s没有请求包(例如登录,消息,keepalive包),服务端就要将这个用户的状态置为离线”。…
记录-交流-Web开发知识分享
一、缘起
很多时候,业务有定时任务或者定时超时的需求,当任务量很大时,可能需要维护大量的timer,或者进行低效的扫描。
例如:58到家APP实时消息通道系统,对每个用户会维护一个APP到服务器的TCP连接,用来实时收发消息,对这个TCP连接,有这样一个需求:“如果连续30s没有请求包(例如登录,消息,keepalive包),服务端就要将这个用户的状态置为离线”。…
利用swoole框架,适合运行并行的长时间(一直运行)的任务.
如下
<?php
$redirect_stdout = false;
$workers = [];
$worker_num = 8;
cli_set_process_title('monitormain');//修改进程名,need php>5.5…
近期评论