如何:在一个PHP文件中运行多个Cron链接

时间:2019-08-06 10:26:21

标签: php cron

“我的域名托管服务商”仅允许设置2个CRON作业。 我已经设置要通过FTP下载文件

我需要从一个PHP文件运行10个以上的Cron链接。 这有可能吗?

Cron Link的格式(10个部分): https://www.example.com?route=extension/module/import&import_id=1&part=1_10

不确定如何在单个PHP文件中对此进行测试

这样的作品行吗?

<?php
ini_set('display_errors', 1);
$response=curl_request("https://www.example.com/?route=extension/module/import&import_id=1&part=1_10");
curl_request("https://www.example.com/?route=extension/module/import&import_id=1&part=2_10");
curl_request("https://www.example.com/?route=extension/module/import&import_id=1&part=3_10");
curl_request("https://www.example.com/?route=extension/module/import&import_id=1&part=4_10");
curl_request("https://www.example.com/?route=extension/module/import&import_id=1&part=5_10");
curl_request("https://www.example.com/?route=extension/module/import&import_id=1&part=6_10");
curl_request("https://www.example.com/?route=extension/module/import&import_id=1&part=7_10");
curl_request("https://www.example.com/?route=extension/module/import&import_id=1&part=8_10");
curl_request("https://www.example.com/?route=extension/module/import&import_id=1&part=9_10");
curl_request("https://www.example.com/?route=extension/module/import&import_id=1&part=10_10");
function curl_request($url,$method="GET",$postFields="")
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    if($method=="POST")
    {
        curl_setopt($ch, CURLOPT_POST, 1);       
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
    }
    else
    {
        curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
    }
    $response = curl_exec($ch);
    echo "$response";
    return $response;
}
?>

是否可以在链接之间添加超时?

2 个答案:

答案 0 :(得分:0)

据我了解,您希望定期运行脚本,但是您的Web主机仅允许两个cron作业。

一种解决方案是,您可以将单个Php脚本作为cron作业运行。在此脚本中,您可以检查当前时间。如果时间正确,则可以运行其他脚本。例如,每10分钟运行一次主要的Php脚本。该脚本可以检查是否该运行其他Php脚本了。

答案 1 :(得分:0)

将所有cron文件包含在一个文件中,并将该新创建的文件添加到cron As,

newly_created_file.php

<?php
ob_start();
require_once("filepath/filename_1.php");
require_once("filepath/filename_2.php");
require_once("filepath/filename_3.php");
require_once("filepath/filename_4.php");
?>