问题标签 [polling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
429 浏览

monitoring - 网站监控库

在 stackoverflow 上有一些关于网站性能监控工具和服务的讨论,但是,它们的实际工作似乎相当昂贵。是否有任何好的开源库可以自动检查/监控网站的可用性?

0 投票
18 回答
16890 浏览

c# - 投票有什么问题?

我最近听到一些开发人员说他们只是轮询一些东西(数据库、文件等)以确定什么时候发生了变化,然后运行一个任务,比如导入。

我真的反对这个想法,并认为利用可用的技术,如RemotingWCF等会比轮询好得多。

但是,我想找出其他人更喜欢一种方法而不是另一种方法的原因,更重要的是,我怎样才能说服其他人在这个时代投票是错误的?

0 投票
5 回答
1676 浏览

matlab - 检测传输中的文件?

我正在编写一个应用程序,通过每隔几秒钟轮询一次目录来监视新输入文件的目录。新文件通常可能有几兆字节,因此需要一些时间才能完全到达输入目录(例如:从远程共享复制)。

有没有一种简单的方法来检测文件当前是否正在被复制?理想情况下,任何方法都与平台和文件系统无关,但不同平台可能需要特定策略。

我已经考虑过将两个目录列表分开几秒钟并比较文件大小,但这引入了时间/可靠性权衡,除非别无选择,否则我的上级并不满意。

作为背景,该应用程序被编写为一组 Matlab M 文件,所以恐怕没有 JRE/CLR 技巧......


编辑:文件通过直接移动/复制操作直接到达输入,无论是从网络驱动器还是从本地文件系统上的另一个位置。此复制操作可能由人类用户而不是其他应用程序启动。

因此,很难让文件提供者负责添加控制文件或使用中间暂存区......


结论:似乎没有简单的方法可以做到这一点,所以我已经决定采用带大括号的方法 - 如果满足以下条件,则文件已准备好进行处理:

  • 它的大小在一定时间内不会改变,并且
  • 可以以只读模式打开文件(某些复制过程会锁定文件)。

感谢大家的回复!

0 投票
3 回答
27683 浏览

rest - 什么是监视 REST 资源以进行更改的 RESTful 方式?

如果有一个 REST 资源我想监视来自其他客户端的更改或修改,那么最好(也是最 RESTful)的方法是什么?

我这样做的一个想法是通过提供特定资源来保持连接打开,而不是在资源不(尚)存在时立即返回。例如,给定资源:

对此资源的“GET”可能会告诉我轮到我的对手移动了。与其不断轮询此资源以找出轮到我移动的时间,我可能会记下移动编号(例如 5)并尝试检索下一步:

在“正常”REST 模型中,对此 URL 的 GET 请求似乎会返回 404(未找到)错误。但是,如果相反,服务器保持连接打开,直到我的对手下棋,即:

然后服务器可以返回我的对手放入该资源的内容。这既可以为我提供我需要的数据,也可以为我的对手何时移动而不需要轮询提供一种通知。

这种方案是 RESTful 的吗?还是它违反了某种 REST 原则?

0 投票
1 回答
5397 浏览

c++ - 轮询事件 API 的设计

假设您正在设计一个 C++ 窗口库。它可能提供也可能不提供回调 API,但需要提供轮询 API 以促进函数式编程。

轮询 API 会是什么样子?

一些选项

SDL 风格

国家风格

有趣的函数式伪 C++ 风格

C++ 以外的其他语言的答案是可以的,如果它们提供有趣的见解的话。

请不要对封装发表评论-是的,公共字段确实应该是访问器,为了清楚起见,我将其省略了。

0 投票
2 回答
5324 浏览

python - 轮询 Web 服务的最佳方式(例如,对于 twitter 应用程序)

我需要轮询一个 Web 服务,在这种情况下是 twitter 的 API,我想知道关于这个主题的传统智慧是什么。我不确定这是否重要,但过去我一直发现反馈很有用。

我想出了几个场景:

  1. 查询过程每 X 秒启动一次,例如 cron 作业运行 python 脚本

  2. 一个过程在每次迭代中不断循环和查询,例如……嗯,这是我进入陌生领域的地方。我只是运行一个没有结束的python脚本吗?

谢谢你的建议。

ps - 关于 twitter 的细节:我知道它会发送电子邮件用于关注和直接消息,但有时可能需要解析@replies 的灵活性。在这些情况下,我相信民意调查是最好的。

pps - twitter 将机器人限制为每 60 分钟 100 个请求。我不知道这是否也限制了网页抓取或 RSS 提要阅读。有谁知道被列入白名单有多容易或多难?

再次感谢。

0 投票
1 回答
30474 浏览

c - 我的简单 poll() 示例仅部分有效

该程序应该接受端口 8888 上的 telnet 连接,然后使用 .从每个 telnet 客户端发送和消息,poll()但它并不能 100% 工作。似乎某些连接总是可以向任何人发送消息,并且程序运行良好,但总是至少有一个客户端无法发送消息。所有客户端始终可以接收(轮询不注册传入数据)。send()recv()

这段代码自己运行,所以如果你把它放在一个文件中并编译它,gcc -o app filename.c那么你可以在端口 8888 上 telnet 到 localhost 并看到它不起作用。此代码是为 Fedora 编写的,但其中不应包含任何非 Linux 特定的内容。任何帮助将不胜感激。

0 投票
3 回答
3953 浏览

c# - 轮询数据库以获取来自 C# 应用程序的更新

我正在尝试创建我的第一个“真正的”C# 应用程序——一个小型宠物项目,以帮助安排工作中的同行评审。

由于在实施任何新事物时涉及大量的流程/官僚主义 - 以及我正在做这件事的事实远离管理层的眼睛,在我自己的时间,暂时 - 我将与一个MS Access MS Jet Engine 后端(即一个访问 mdb 文件),因为限制了我如何将此应用程序部署给我的同事。

我的问题是:我如何间歇性地轮询数据库以从数据库中获取更新(新请求的评论、来自其他开发人员请求信息的消息等)?

我是否应该在需要信息的每个表单上放置一个计时器并在发生更新时刷新所有内容?

编辑:
我正在寻找专门关于如何实现计时器的建议。我无法在工作站上安装东西,我无法访问服务器(存储空间之外),并且由于公司的安全要求,我无法自己托管这个,因为我们的客户有荒谬的 DoD 限制。

我想我已经想通了,因为“表单上的计时器”解决方案工作得很好(当我说我想要 CLI 版本的辅助解决方案时,我不知道我在想什么,因为它显然不需要.. 太晚了)。

谢谢!

0 投票
5 回答
2901 浏览

c - select() 调用的剩余时间

select()在 Linux/ARM 平台上使用来查看 udp 套接字是否收到了数据包。如果它在超时之前返回(检测到数据包),我想知道选择调用中剩余的时间。

类似于以下内容:

0 投票
1 回答
989 浏览

asp.net - 从 ASP.NET 轮询长时间运行的 Windows 服务

我们有一个应用程序,它在 Windows 服务中使用 Lucene.NET 来重新索引我们的应用程序以进行搜索。我们的管理部分可以在 Lucene 中触发完整的重新索引,目前查看其进度的唯一方法是通过写入磁盘的日志文件。

这很笨拙。我们想轮询服务以确定重新索引的进度。

有没有人对此有任何见解?