【问题标题】:how to repeat in for with out wait respond PHP如何在没有等待响应的情况下重复 PHP
【发布时间】:2018-07-26 15:22:51
【问题描述】:

我有 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-&gt;fetch(); 我想重复五次,无需等待 但我的问题是等待来自function fetch 的响应可能需要 1 分钟或最多 4 分钟 我需要同时运行这项工作 5 次。 注意:我可以使用任何东西 curl exec 等...

【问题讨论】:

  • 我看不懂这段代码,因为它没有缩进
  • 很简单明了,我要运行 $jobe->featch();同一秒 5 次
  • 你是只想调用页面5次还是还需要返回值?
  • 只调用页面5次

标签: php for-loop curl exec


【解决方案1】:

你不能在 php 中同时运行 5 个函数,它是一种同步语言和单线程(可以与库 How can one use multi threading in PHP applications 一起运行。 如果您的函数 fetch 需要 1 分钟才能运行,则您必须等待 1 分钟才能进入下一轮循环和下一次调用 fetch。

【讨论】:

  • 如何在 centos php 7 中安装?
  • 除了更好的答案之外,您确实需要更好地解释您的问题。我不明白你想在这里实现什么,并行运行 5 次 fetch,还是让函数 fetch 运行得更快?
猜你喜欢
  • 2020-05-11
  • 2020-02-23
  • 1970-01-01
  • 1970-01-01
  • 2019-10-15
  • 2018-01-01
  • 2014-05-15
  • 1970-01-01
  • 2018-09-15
相关资源
最近更新 更多