每 30 秒执行一次 运行 PHP 脚本的最佳方法是什么?

What is the best way to run PHP script every 30 seconds?

我有一个特殊要求,即我正在使用 Raspberry Pi 2 B 设备将一些数据提供给云服务器中的 mysql 数据库。所以我在 raspberry pi 上安装了 LAMP 堆栈并在那里配置我的脚本。它的任务是向远程服务器(云)mysql 数据库插入一些值(我已经为它打开了端口)。并且脚本应该 运行 每个 30 seconds.So 我不需要浏览器支持这个,因为我们不需要在脚本的第一个 Pi.After 运行 上显示有关 Raspberry Pi.After 的任何细节它不应该永远停止,应该 运行 365 天 24x7。

所以我的问题是如何每 30 秒 运行 我的脚本,似乎我没有什么选择

  1. 使用 PHP 线程(似乎需要浏览器支持或第一次脚本 运行 宁通过 bash,如果瞬间发生某些异常脚本将停止 运行重新设置它直到手动重置,数据库连接将建立一次,这样一次又一次建立它会浪费时间)
  2. 使用 Cronjob(似乎不需要浏览器支持,即使是第一个 运行,猜测因为它是 运行 完整的脚本再次减少脚本的终止,数据库连接将一次又一次地建立每个 运行 这样时间就浪​​费了 )

我主要关心的是永远不要停止脚本,应该花最少的时间 运行 脚本一次并且服务器不应该被每 30 秒命中一次的进程杀死。请提出您的意见,有时可能还有另一种比上述方法更有效的方法

您应该使用 PHP 创建一个 daemon(如 Windows 服务)。查看 Kevin 的博客,了解如何 create daemons in PHP.

您可以让您的守护程序休眠 30 秒,然后一遍又一遍地重新开始。首先进行大量日志记录,然后添加 switches/parameters 来控制日志记录级别。

question 2036654 上也有关于守护进程 PHP 脚本的很好的讨论。

Cron 不会为您剪掉它,因为它的最佳分辨率是 1 分钟。

我推荐使用 Cronjob。您可以编写 PHP 脚本,然后每 30 分钟为 运行 该脚本设置一个 Cronjob。

https://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job