加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP和计划任务

发布时间:2020-12-13 21:35:41 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试列出在 PHP上运行计划任务的不同方法列表.我的目的是提供一种在PHP中运行计划任务的通用方法.到目前为止,我有: 1)分析网站流量.如果您每天收到770次点击(每2分钟一次点击),并且您安排任务在上午6:00运行,并且访问者在上午5:59请求了一个页面,则运
我正在尝试列出在 PHP上运行计划任务的不同方法列表.我的目的是提供一种在PHP中运行计划任务的通用方法.到目前为止,我有:

1)分析网站流量.如果您每天收到770次点击(每2分钟一次点击),并且您安排任务在上午6:00运行,并且访问者在上午5:59请求了一个页面,则运行该任务,因为下一个访问者将平均上午6:01到达.在这种情况下,运行= exec(‘/usr/bin/php -f /home/account/cron.php’).

()只要路径正确,就可以在所有平台上运行.

( – )需要一些CPU电源.

( – )需要exec().

( – )在较小的网站或流量高峰的网站上不准确.

2)以上的改进版本.当用户请求页面并且任务要运行时,在将内容刷新到用户后,请不要使用exec(),而是使用include().

()适用于所有平台.

()没有exec()的.

( – )需要一些CPU电源.

( – )在较小的网站或流量高峰的网站上不准确.

3)运行单独的进程后台,使其以恒定循环运行.提供一个管理界面,让您“开始”和“结束”“服务”.然后它将使用fsockopen()来调用无限运行的.php脚本.它使用sleep()来消耗资源并在时机成熟时唤醒(参见:time_sleep_until()).它可以搜索文件并读取它们以了解何时运行哪些任务.可以创建文件“run-everyday-3.00am”,使调度程序在其中运行代码.

()适用于所有平台.

()没有exec()的.

()可以非常准确(例如,如果它每分钟睡眠一次).

( – )不稳定 – 服务器崩溃完全停止调度程序.

( – )有些主机不喜欢24/7/365 =资源占用的进程?

4)直接在Linux上运行exec(‘crontab’)等.

()这不是资源匮乏.

()是准确的.

( – )exec().

( – )不适用于所有平台.

5)要求cPanel凭证并对其进行POST以创建/管理/删除crons.

()是准确的

()这不是资源匮乏.

( – )安全性差

( – )需要用户详细信息=可用性降低

( – )不适用于所有平台(需要在Windows上不起作用的cPanel).

( – )需要cPanel.

还有其他想法吗?

解决方法

你提出的几乎所有方法都很难看,尽管大多数方法都有效.

我的丑陋替代方案是在本地计算机上设置cron,该计算机具有互联网连接,可以在几分钟内运行curl命令.

它和你的所有解决方案一样丑陋,但它更可靠.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读