首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
worker进程中如何清除其他worker创建的定时器
### 如何实现全局的定时器 业务逻辑需要的是全局的定时器,也就是说,在一个worker创建了定时器,有需要在另外的worker里面能清除掉。现在的定时器仅在当前进程空间内有效,达不到需要的效果。 ### php和swoole版本,代码运行平台等相关信息 PHP 7.2.9 swoole 4.4.6
发布于6年前 · 3 次浏览 · 来自
提问
code fish
### 如何实现全局的定时器 业务逻辑需要的是全局的定时器,也就是说,在一个worker创建了定时器,有需要在另外的worker里面能清除掉。现在的定时器仅在当前进程空间内有效,达不到需要的效果。 ### php和swoole版本,代码运行平台等相关信息 PHP 7.2.9 swoole 4.4.6
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2020-04-02
郭新华
用userProcess + 进程间通讯
赞
1
回复
2020-04-03
code fish
回复
郭新华
我用了个笨办法 在一个固定的task进程里面来做定时器的倒计时,也就是所有需要倒计时的我都投递到固定的task进程执行。但是不知道是不是因为这样修改的原因,代码变动后reload的时候,有一段时间服务器就连不上了。
赞
0
回复
2020-04-03
code fish
回复
郭新华
userProcess在reload的时候能生效吗?
赞
0
回复
2020-04-05
dryangkun007
用swoole Atomic就可以实现,worker定时器每次执行时都检查下atomic的值,如果值发生变化(比如等于1),则关闭自己就好了,其他worker可以通过修改atomic值就可以启动关闭定时器的作用
赞
1
回复
2020-04-02
Lucifers
我也有这个疑问
赞
0
回复