【问题标题】:how execute an script from server every 30 seconds - apache [duplicate]如何每 30 秒从服务器执行一个脚本 - apache [重复]
【发布时间】:2013-06-06 03:12:38
【问题描述】:

如何每 30 秒从服务器执行一个 php 脚本?

我有一个 php 脚本,我需要每 30 秒执行一次,以便通过 curl 从其他站点检索一些信息。

但我不知道每隔 30 秒由 apache 在后台运行一个 php 页面。

【问题讨论】:

  • 您可以创建 cron 作业或 windows 任务(取决于您的操作系统)并通过命令行运行该 PHP 脚本。这适合你吗?
  • 在 crontab 中配置脚本。 . . .

标签: php apache execution


【解决方案1】:

使用 Cron 作业脚本。 获取一个 30 秒的间隔,你可以延迟 30 秒:

-*/5-22 * * * sleep 30;your_script.php

上述脚本将在早上 5 点到晚上 10 点运行

【讨论】:

  • 使用这样的解决方案并不简单,因为 Cron 不会将其自身拆分为亚分钟。所以这个答案似乎是最好的可行解决方案,您可能需要对稳定性进行进一步测试像这样的解决方案。
  • 这个脚本的主要缺点是如果当前脚本在 20 秒内完成执行,那么下一个循环将是 50,因为计时器没有计算执行时间。
  • 所以 OP 将不得不让 PHP 脚本休眠片刻,或者找到另一种方法来弥补这一点
  • 另一种方法是,如果脚本加载需要更多时间,然后还插入条件脚本。这可以通过条件调用覆盖。在这种情况下,使用两个脚本。
【解决方案2】:

每分钟运行一次 cron。你应该想想一分钟是否足够。

Running a cron every 30 seconds

当您想更频繁地执行脚本时,您需要一个在指定时间运行脚本的守护进程。但它作为 cronjob 更复杂。

http://kvz.io/blog/2009/01/09/create-daemons-in-php/

【讨论】:

    猜你喜欢
    • 2022-11-17
    • 2013-06-06
    • 1970-01-01
    • 2012-08-26
    • 2018-08-04
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多