gpt4 book ai didi

php - 将 PHP 用于守护进程是否明智?

转载 作者:IT王子 更新时间:2023-10-28 23:48:46 24 4
gpt4 key购买 nike

我希望创建一个后台进程,有人告诉我这些通常是用 C 或类似的东西编写的。我最近发现 PHP 可以用来创建一个守护进程,如果我应该以这种方式使用 PHP,我希望能得到一些建议。

这是我对守护进程的要求。

  • 不断检查是否有一行添加到 MySQL 数据库表中
  • 对原来的内容运行 FFmpeg 命令从数据库中检索
  • 将输出插入 MySQL 表中

我不确定我还能提供什么来帮助做出这个决定。只是补充一下,我以前没有做过C。只有 Java 和 PHP 以及基本的 bash 脚本。

它甚至会产生这么大的性能差异吗?

请原谅我的无知,我正在学习! :)

谢谢大家

最佳答案

正如其他人所指出的,各种版本的 PHP 都存在垃圾收集器的问题。当然,如果您知道您的版本没有此类问题,您就可以消除该问题。关键是,在您编写守护程序并通过 valgrind 运行它以查看安装的 PHP 是否在任何给定机器上泄漏之前,您知道(肯定)。因此,在这方面,您可能编写它只是为了发现 Zend 认为已修复的内容可能仍然存在错误,或者您正在处理稍微旧版本的 PHP 或某些扩展。恶心。

另一个问题是有些错误的信号。以我的经验,信号处理程序并不总是用 PHP 正确输入,尤其是当信号排队而不是合并时。这对您来说可能不是问题,即如果您只需要处理 SIGINT/SIGUSR1/SIGUSR2/SIGHUP。

所以,我建议:

如果守护程序很简单,请继续使用 PHP。如果它看起来会变得相当复杂,或者分配大量内存,您可以考虑在 PHP 中对其进行原型(prototype)设计后用 C 语言编写它。

我是一个相当顽固的 C 人。但是,我认为使用 PHP 快速完成一些事情并没有错(除了我解释的情况)。我也认为使用 PHP 对以后可能会或可能不会用 C 重写的东西进行原型(prototype)设计没有任何问题。例如,如果您使用 PHP,处理数据库内容会简单得多,而不是使用 C 中的其他接口(interface)管理回调。所以在在那种情况下,对于“一次性”,您肯定会更快地完成它。

关于php - 将 PHP 用于守护进程是否明智?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/646928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com