gpt4 book ai didi

javascript - 每秒使用 cron 作业执行脚本的替代方案?

转载 作者:行者123 更新时间:2023-12-03 12:19:07 24 4
gpt4 key购买 nike

我在 Tunein.com 上有一个广播电台。为了更新专辑封面和艺术家信息,我需要发送以下内容

  # Update the song now playing on a station
GET http://air.radiotime.com/Playing.ashx?partnerId=<id>&partnerKey=<key>&id=<stationid>&title=Bad+Romance&artist=Lady+Gaga

我能想到的唯一方法是设置一个 PHP/JS 页面,更新 URL 的 &title 和 &artist 部分,并在发生更改时将其发送出去。但我必须使用 cron 每秒执行一次,或者至少每隔几秒执行一次。

还有其他更有效的方法吗?

感谢您的帮助。

最佳答案

此答案中的代码均未经过测试。使用风险由您自行承担。

由于您无法控制第三方 API,并且 API 无法在信息可用时向您推送信息(理想情况),因此您唯一的选择是每隔一段时间轮询 API 以查找更改并根据需要进行更新。 (请确保 API 提供商同意这种方法,因为它可能违反旨在防止系统滥用的使用条款。)

您需要某种长时间运行的进程,该进程将按照给定的时间间隔执行。

您提到 cron 调用 PHP 脚本,这是一种选择(这里 cron 是长时间运行的进程)。 Cron 非常稳定,是一个不错的选择。我相信 cron 的最小间隔为 1 分钟。我确信有类似的工具,但这些工具可能需要您完全控制您的服务器。

您还可以使用如下方式将 PHP 脚本设置为长时间运行的进程:

while(true){
doUpdates(); # Call the API, make updates, etc
sleep(5); # Wait 5 seconds
}

如果您确实选择 PHP 路线,则必须进行某种错误处理:

while(true){
try{
doUpdates();
} catch (Exception $e) {
# manage the error
}
sleep(5);
}
<小时/>

个人建议

使用 PHP 作为守护进程是可能的,但它没有像 PHP 的典型使用那样经过充分的测试。如果这个任务交给我,我会使用 Node.js 用 Ja​​vaScript 编写服务器/应用程序。我更喜欢 Node,因为它被设计为一个长时间运行的进程,而间隔/事件是 JavaScript 的关键部分,对于这个特定任务,我比 PHP 更有信心。

关于javascript - 每秒使用 cron 作业执行脚本的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24523326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com