既然 PHP -FPM 是常驻内存的,为什么不原生实现 corn 定时器

2019 年 4 月 15 日
 xiaoyanbot

PHP 话题

6193 次点击
所在节点    PHP
13 条回复
ysc3839
2019 年 4 月 15 日
这个问题要问 PHP 的开发组才知道。
不过一种可能的原因是已经有现成的工具了,重复造轮子费时费力。
ericls
2019 年 4 月 15 日
为什么不原生实现 redis?
为什么不原生实现个操作系统
rming
2019 年 4 月 15 日
内存泄露有风险,信号处理不完善,进城管理不完善,运行环境没有系统预装,就算要实现秒级的 cron,用 shell 或者 python 比 php 都方便,嗯,大概这样
DonaidTrump
2019 年 4 月 15 日
为什么不原生实现 Mysql
lshero
2019 年 4 月 15 日
感觉实现连接池更有意义吧
gamexg
2019 年 4 月 16 日
非 php,
影响这个是可能部署多个,
之间会出现同步、重复执行的问题吧。
yuikns
2019 年 4 月 16 日
fpm 貌似是多进程加个简单进程管理。自己实现 cron 不仅是冗余代码,而且自己去搞在一致性上面也没啥优势
R18
2019 年 4 月 16 日
可以搞,但没必要
banditv2ex
2019 年 4 月 16 日
上面说可以搞的大概是不了解 php-fpm。
php-fpm 跟 nginx 比较类似,由 master 进程是常住内存的。
master 进程 fork 很多子进程,处理 php 请求的是子进程,子进程在处理一定数量的请求之后就会退出(对,就是前面的同学说的避免内存泄漏)。
虽然 master 常住进程 ,但是如果 master 挂了整个服务都挂了,不能用来处理其他任务。
julyclyde
2019 年 4 月 16 日
fpm 虽然是常驻内存,但是其运行过程是基于请求的
你需要的是 php-cli
laozhoubuluo
2019 年 4 月 16 日
1. php 命令行了解一下。
2. php-fpm 可以启动多个,如果要做 cron 还得设计一个锁机制,费时费力还不如 crontab 好用。
AbrahamGreyson
2019 年 4 月 18 日
主进程只负责守护子进程,只有主进程一直运行
yuekcc
2019 年 4 月 19 日
roadrunner 欢迎你实现一个 corn 拓展

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/555502

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX