php - 如何在没有等待响应的情况下重复 PHP
问题描述
我有 vps,需要一些案例帮助,在 crontab 中每分钟都有命令运行
* * * * * /usr/share/html/mysite/do.php
在 do.php 文件中有这样的东西
<?php
class job
{
function fetch()
{
global $curl;
for($i=0;$i<4;$i++) {
$res = $curl->get('http://www.****.com/data.php');
if($res == 'OK') {
return 'OK';
}
sleep(60);
}
}
}
$job = new job();
$value = 5;
for($i=0;$i<$value;$i++) {
$job->fetch();
}
?>
现在我的问题是$job->fetch();
我想重复五次而无需等待,但我的问题是它的等待响应时间function fetch
可能为 1 分钟或最多 4 分钟,我需要同时运行此作业 5 次。注意:我可以使用任何东西 curl exec 等......
解决方案
您不能在 php 中同时运行 5 个函数,它是一种同步语言和单线程(可以与库一起使用 tweeked如何在 PHP 应用程序中使用多线程。如果您的函数获取需要 1 分钟才能运行,您必须等待 1在下一轮循环和下一次调用 fetch 之前的一分钟。
推荐阅读
- algorithm - 从给定数字中获取所有可能的操作组合的算法
- html - 背景图像未使用 CSS 显示
- c++ - 如何为我的游戏设置主菜单场景?QT C++
- node.js - 如何使用 listObjectV2 和 NodeJs 从 S3 AWS 获取对象列表?
- java - 如何找到所有可用的 JDBC 驱动程序?
- android-studio - 如何在 Flutter 项目中解析符号 @mipmap 和 @style?
- c# - 我如何将 IUnitOfWork 与 BaseController 一起使用
- python - Python 字符串表达式格式
- matlab - '[' 处的解析错误:用法可能是无效的 MATLAB 语法
- javascript - 重新加载后比较数据表的数据,如果数据不变,则以红色突出显示行