如何创建一个单击脚本的在线机器人?

时间:2018-05-06 13:21:39

标签: bots

我在php中创建了一个脚本(在altervista上,因此它是一个在线代码),但我想每55分钟运行一次。我怎么能意识到这一点? 我在网上搜索过,但我找不到东西。 请注意,这很重要 由于
只有免费的解决方案,我只找到一项服务,但它不是免费的...... 抱歉我的英语,但我是法国人!

1 个答案:

答案 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个文件
  • 的python cmd
  • >>将脚本的输出附加到文件(日志文件)
  • 2>&1stderr追加到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