【问题标题】:Solved! Cron job will only work after clearing the cache解决了! Cron 作业只有在清除缓存后才能工作
【发布时间】:2021-04-12 20:47:09
【问题描述】:

我有多个通过 CURL 文件访问的 cron 作业。

Curl -> Cron 作业

cron 作业有效,但只会有效一次。如果我立即对其进行第二次测试,则不会发生任何事情。我将从我的主机中清除缓存(Site Ground 上的动态缓存),然后它会再次工作,但只有一次。

在我的本地主机上,没有问题。为什么在托管网站上这样做?

编辑:Siteground 内置了缓存 heaers,我可以将其放在页面顶部:

header("Cache-Control: no-cache");

【问题讨论】:

  • 请添加重要细节并更改标题。

标签: php html cron


【解决方案1】:

我知道处理可能令人讨厌的 SiteGround SuperCacher 并不容易,因为您无法通过特定路径将其排除。 无论如何,您仍然有几个机会:

1) 在查询字符串中添加一个带有时间戳的假参数:

curl --request GET https://www.youtdomain.com/yourpath?v=`(date +"%s")`

测试响应标头添加 -I 并在将其放入 crontab 之前查找“x-proxy-cache: MISS”

2) 配置您的脚本以返回 nocache 标头 如果您可以访问 SiteGround 上的远程脚本,请添加此响应标头以告诉 SG 代理不要缓存该资源:

<?php
    header( 'Cache-Control: max-age=0,no-store');
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多