创建没有Cron作业的计划任务

Mar*_*rko 3 php mysql cron

需要创建计划任务,但不能使用Cron作业(托管服务提供商发出警告"在45分钟内多次运行cron作业是他们规则的违规行为,可能会导致关闭帐户."

php脚本(将数据从txt插入mysql数据库)应该每分钟执行一次,即此链接应该被称为http://www.myserver.com/ImportCumulusFile.php?type=dayfile&key=letmein&table=Dayfile&file=./data/ Jan10log.txt

还有其他方法吗?

San*_*ari 6

有多种方法可以完成重复性工作.我现在能想到的一些方法是:

  1. 使用:https://www.setcronjob.com/

使用这样的外部网站按设定的时间间隔启动网址

  1. 使用元刷新.更多这里.你必须打开页面并让它继续运行.

  2. Javascript/Ajax刷新.与上面的例子类似.

  3. 设置一个cron作业.大多数共享托管确实提供了一种设置cron作业的方法.看看你托管的cPanel.


r3w*_*3wt 5

如果您有 shell 访问权限,您可以通过 shell 执行 php 脚本

像这样的事情将是一个无限循环,它将休眠 60 秒执行,收集垃圾并重复直到时间结束。

while(true) {
    sleep(60);
    //script here


    //end your script
}
Run Code Online (Sandbox Code Playgroud)

或者您可以使用 ajax 或元刷新执行“poor mans cron”。我以前做过。基本上,您只需在脚本的开头放置一个带有 javascript 或 html 元刷新的重定向即可。从浏览器访问此脚本,并将其保持打开状态。它每 60 秒刷新一次,就像定时任务一样。

cronjob 的另一种替代方案是 bash 脚本,例如:

#!/bin/bash
while :

do
sleep 60
 wget http://127.0.0.1/path/to/cronjob.php -O Temp --delete-after

done
Run Code Online (Sandbox Code Playgroud)

话虽这么说,你可能会被主机抓住并被终止。

所以你最好的解决方案:

去注册一个每月 5-10 美元的 vps,告别共享主机,开始运行自己的小服务器。

如果你这样做,你甚至可以停止使用蹩脚的 php 并使用 facebook 的 hhvm 来代替并享受其出色的性能。