【问题标题】:AJAX action with cron-job?使用 cron-job 的 AJAX 操作?
【发布时间】:2014-01-19 18:23:52
【问题描述】:

我试图用 PHP 更新这么多行,我不得不用 ajax 来更新(因为服务器中的执行时间太短,无法执行所有行)。所以我做了一个代码,它应该调用一个.php文件,里面有代码,它更新了mysql表中发送的ROW id。

我有密码

<html>
<head>
    <title>Cron job!</title>
    <meta charset="UTF-8" />
    <script src="jquery.js"></script>
</head>

<html>
<body>

<div id="body">

</div>

<script>
    $(document).ready(function(){
        var array_items = <?=$table_info?>;
        var updated_items = 0;

        for(var i=0; i<array_items.length; i++){
            // pradedam kreipimąsi į kiekvieną rową jo updeitui su ajax
            $.ajax({
                url: "ajax_cron.php",
                type: 'POST',
                dataType: 'json',
                data: {update_id : array_items[i]['ids']},
                success: function (data) {
                    // kreipimąsis pavyko 
                    if(data.updated_id){
                        updated_items += 1;
                    }
                    $("#body").html(updated_items + " iš " +array_items.length + " updeitinta sėkmingai");                   
                }, error: function(e){
                    console.log(e.message);
                }
            });            
        }
    });
</script>

</body>
</html>

当我用浏览器打开 url 但当我用 CRON JOB 调用这个脚本时它可以工作 - ajax 不起作用.. 那么如何让它工作呢?

【问题讨论】:

  • 我不认为通过ajax发布数据可以解决问题,服务器仍然需要在最大执行时间内执行并返回响应。我建议根据 php ini 的要求增加时间
  • 我只通过 ajax 发送一个请求,并使用循环多次发送。

标签: php jquery ajax cron


【解决方案1】:

Ajax 是一种客户端技术,因此它需要客户端(浏览器)能够执行脚本,最重要的是,您的 Javascript 可以读取 DOM 元素。

另一方面,Cron 作业在 CLI 上运行,当脚本在那里运行时,它不知道任何关于 DOM 的信息。

因此,换句话说,您尝试做的事情在我们现有的网络技术下是不可能的。但是,您始终可以在 cronjob 上运行服务器端脚本,但在客户端脚本上运行,不,您不能。

【讨论】:

  • 是否可以将网络浏览器安装到 VPS(例如 mozilla)并执行 cron 到 /path/to/browser http://mysite/mywebpage.php
  • 是的,如果您运行浏览器可执行文件并调用 URL,代码将在浏览器环境中运行。但是使用 cronjob 执行 PHP 代码或服务器端代码总是更好。如果您知道加载浏览器时 PHP 脚本在做什么,为什么不将 PHP 代码添加到 cronjab。
猜你喜欢
  • 1970-01-01
  • 2016-04-25
  • 2014-11-14
  • 1970-01-01
  • 2011-08-31
  • 2017-06-14
  • 2012-07-19
  • 2018-05-17
  • 2018-01-17
相关资源
最近更新 更多