jQuery - 轮询作业队列

2024-01-11

我有一个包含作业队列的数据库表。一个单独的程序处理这些作业。我想提供一个网页供用户观看队列的进度。用于查询表并以 JSON 格式返回的服务器端脚本没有问题。

我读过一些关于 jQuery 和期刊更新插件 http://enfranchisedmind.com/blog/posts/jquery-periodicalupdater-ajax-polling/。我想知道是否有可能使用这个插件来创建一个可视队列(基本解释是一个单列表,队列中每个条目一行),其中已完成的作业将在下一个作业中删除投票时间。正如我所说,服务器端脚本不是问题,我只是无法理解这种 UI/动画。任何进一步阅读的提示将不胜感激,或者如果我完全找错了树,也请告诉我。

提前致谢


我不熟悉 periodicalupdater 插件,但如果我是你,我会考虑简单地使用 JavaScript 的“setTimeout”函数。 setTimeout 允许您以指定的时间间隔运行函数。

有关与您的情况相关的示例,请参见此处:

<script type="text/javascript">

setTimeout("updateTable();", 5000);

function updateTable()
{
     $.post("/your_script.php", {}, function(result) {

          $("#my_table").html(result);

     });
     setTimeout("updateTable", 5000);
}

</script>

注意:一秒有 1000 毫秒,因此该函数设计为每 5 秒触发一次。

此外...

我假设队列表中的每个条目都有一个与其关联的唯一 ID。在您的 HTML 主页面中,我将打印出如下表格:

<table>
<tr id='q1'><td>Queue Item 1</td></tr>
<tr id='q2'><td>Queue Item 2</td></tr>
<tr id='q3'><td>Queue Item 3</td></tr>
<tr id='q4'><td>Queue Item 4</td></tr>
<tr id='q5'><td>Queue Item 5</td></tr>
</table>

换句话说,为队列表中的每一行分配与表中条目所具有的相同 ID。然后,当您的 AJAX 调用返回结果时,您可以检查是否有任何队列项目已完成。如果有,您可以执行以下操作:

$("#q1").fadeOut("fast");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery - 轮询作业队列 的相关文章

随机推荐