Мне нужен PHP-скрипт, который предоставит локальную копию файла javascript, хранящегося в другом домене, например, JS-файлы, используемые для целей отслеживания, такие как Google Analytics или, в моем случае, Wordpress Stats.
Намерение состоит в том, чтобы добавить его в моем собственном виде следующим образом:
mysite.com/somepath/wpstats.js.php?w=201145
(где "w = year-week_number" используется так же, как wordpress.com. Ихсрок действия кеша там для исходной статистики JS-файла составляет один год - следовательно, JS-файл никогда не будет изменяться чаще, чем раз в неделю)
В моем wpstats.js.php
я хочу скачать правильный файл из wordpress.com, когда изменяется w = xx, в противном случае я хочу вернуть его из локально сохраненной копии.
Я могу реализовать его с помощью одной внутренней переменной с именем "w_current", чтобы при появлении нового посетителя на сайте вторую неделюw != w_current
, и это вызовет новую выборку.Проблема заключается в следующем: как предотвратить проблемы с условиями гонки / параллелизма, которые могут возникнуть, когда два посетителя сайта одновременно загружают сайт в первый раз на второй неделе [1]?
[1]оба apache-процесса оценивают w != w_current
и запускают две загрузки (потенциально) новой версии файла wpstats.js, и оба пытаются записать его в локальную копию (например, own_wpstats.js
), которую wpstats.js.php (в обычном случае, когда локальная копия уже существует) будет включать:
if ($_GET["w"] == w_current) require("own_wpstats.js");
Основная причина для этого (производительность, возможно, другая) связана с тем, что Wordpress.com Stats внедряет (через DOM)дополнительный файл JS-трекинга от сторонней компании quantserve.com.В моем локальном «файле WP JS» я позабочусь о том, чтобы исключить эту функцию quantserve.com, но это отдельная проблема программирования, чем вопрос, который я пытаюсь здесь задать.Поиск "cookie для отслеживания quantserve.com" дает много неприятных результатов.