Php 每3小时运行一次请求

Php 每3小时运行一次请求,php,cron,jobs,Php,Cron,Jobs,我有一个API,我需要使用它来发送信息,但这个API要求我每三小时获取一个访问令牌。我的问题不是关于API本身,而是关于我必须这样做的方式。我知道我需要使用cron作业来完成它。但这是唯一的方法吗,还是我可以让php scheduale自己来做呢?如果不是,那么我可以让cron作业“发出请求”而不是“运行脚本”吗? 我想到的是,我将创建一个php文件,该文件将触发我的系统获取新令牌(所有令牌请求数据和函数将保存在我的系统中,而不是保存在cronjob文件中),而不是在我的项目外部设置一个文件,并

我有一个API,我需要使用它来发送信息,但这个API要求我每三小时获取一个访问令牌。我的问题不是关于API本身,而是关于我必须这样做的方式。我知道我需要使用cron作业来完成它。但这是唯一的方法吗,还是我可以让php scheduale自己来做呢?如果不是,那么我可以让cron作业“发出请求”而不是“运行脚本”吗? 我想到的是,我将创建一个php文件,该文件将触发我的系统获取新令牌(所有令牌请求数据和函数将保存在我的系统中,而不是保存在cronjob文件中),而不是在我的项目外部设置一个文件,并从外部对其进行更改。这是一个好主意,还是我应该让cronjob文件为我获取令牌?
我希望我的观点是正确的

首先,cronjob本身并不像您所说的“提出请求”。这就是“运行脚本”。现在,对于您的答案,有很多方法可以做到这一点,但最好的方法是cron。使其在内核下工作,完全可靠稳定。 第二,您所说的“保存在我的系统中而不是在cronjob文件中”是什么意思? 如果您的意思是将访问令牌存储在代码中,现在您必须将其存储在文件中,因为cron运行脚本,而该脚本将令牌保存在某个位置,并且不安全,那么只需执行以下操作: 创建只写入文件0或1的脚本。此脚本每3小时由cron运行一次,并将0更改为1。如果值为1,则代码始终检查此文件,因此令牌已过期,并且在进行新api调用之前生成新令牌,最后再次将该文件更改为0。这只是一个简单的方法。
但是请注意,这不是最佳实践,如果您可以在另一侧实现刷新令牌方法。

< P>如果要运行的脚本是基于Web的,则可以考虑使用第三方服务,例如,以编程方式设置作业。

每次cron作业运行时,您都可以记录在文件上创建的令牌。您可以验证该令牌存在的时间,并且您的代码可以决定请求一个新令牌,如果该令牌即将过期,即3小时。但是,如果您在到期前15分钟这样做是理想的,因为您获得代币的时间与第三方系统最终生成代币的时间存在差异,尽管差异可能不大,但在传输过程中可能会发生很多事情,因此生成时间和ETA并不总是相同的相同。:)

我对这个完全陌生,所以非常感谢你。我现在很清楚,所以我现在知道该怎么办了。非常感谢你,先生!!