php - cronjob 执行一个包含大约 100 个 curl url 的脚本 - 不好的做法?
问题描述
我正在编写一个 cron 作业,它将执行一个脚本,该脚本将加载多达 100 个 url,每个 url 都有将在执行时被 memcached 的数据。每个 url 到结束/加载的时间可能需要 10 秒到 15 分钟,每个 url 从数据库加载数据并将结果作为 json 返回,并缓存结果。该脚本的主要目的是在早上缓存结果数据(00:00 - 直到缓存所有内容所需的任何时间),因此早上人们不必等待数据再次缓存.
网址是 api 网址。curl 会等待每次执行结束吗?这被认为是不好的做法吗?到目前为止还没有缓存,所以我正在尝试实现它,将最常用的 url 数据缓存 24 小时或类似时间。
解决方案
确保你的脚本不会超时,所以从 BASH 或其他东西运行它,而不是通过服务器(Apache、NGINX 等)。
另外:确保你的 curl 命令等待足够长的时间,查看 curl 规范。
https://unix.stackexchange.com/questions/94604/does-curl-have-a-timeout/94612
最后:确保如果 100 个中有 1 个变坏,您不会出错。
如果你能合理地满足/解决这三个可能的问题,我认为你应该没问题。(我总是将输出发送到我自己的邮件中,以密切关注它)
推荐阅读
- typescript - TypeScript 中的高阶类型函数?
- php - 致命错误:无法重新声明 function() - WP 主题
- java - Java:在方法调用之前和之后注入代码
- visual-studio-code - 如何调查 Visual Studio for Code 的扩展问题?
- azure-active-directory - 使用 Azure AD 进行 Blazor 身份验证 - 检索用户角色
- php - 如何解决“允许的内存大小已用完”错误?
- javascript - 系统对话框角度材质
- java - 如何使用 Retrofit 在后台定期从服务器获取数据
- kubernetes - Nginx Kubernetes POD 留在 ContainerCreating
- excel - 根据字符串部分删除单元格中的值