我在php中创建了一个脚本(在altervista上,因此它是一个在线代码),但我想每55分钟运行一次。我怎么能意识到这一点?
我在网上搜索过,但我找不到东西。
请注意,这很重要
由于
只有免费的解决方案,我只找到一项服务,但它不是免费的......
抱歉我的英语,但我是法国人!
答案 0 :(得分:0)
要实现这一目标,您需要一台“专用”机器 你可以使用你的机器,但需要一直打开(无睡眠,休眠等)流程需要始终运行,这是一个专用的服务器,如亚马逊,Azure,谷歌云等,这将是最好的解决方案< / p>
如果您使用的是Linux操作系统,您可以利用系统cronjob并定期运行脚本(每n秒/分钟......或在特定日期) 另一个选择是在infinte循环中运行脚本并让它每隔n秒左右休眠一次,这在linux和其他操作系统上都是有效的,这些操作系统不像Windows那样直接支持定期工作
使用requests模块的python中的简单脚本可能类似于
import requests
from time import sleep
while True:
try:
response = requests.get("http://mypage.altervista.org/checkloop.php")
print(response.text)
except Exception as e:
print(e)
sleep(55) #sleep 55 seconds
但这可以用任何语言轻松实现......
在您可以使用的任何实例上运行此脚本
python path_to_script.py >> path_to_log_file.log 2>&1 &
一些解释
python
是运行py
个文件>>
将脚本的输出附加到文件(日志文件)2>&1
将stderr
追加到stdout
,这意味着所有错误也会附加到日志文件中&
在后台运行该进程,以便即使用户触发此操作也会从该计算机注销你可以使用linux cron job
使用更强大的方法
并使用cmd crontab -e
编辑crontab文件并设置以下任务
*/5 * * * * python path_to_script.py >> path_to_outputfile.log 2>&1
这将每五分钟运行一次脚本(并附加stdout和stderr以输出日志文件)
注意,在这种情况下,脚本本身不需要while loop
,但只运行一次,系统(cron job
)将处理频繁运行< / p>
可以找到关于linux的cron作业的有用信息here