mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-10-22 08:05:56 +02:00
MINOR added locking to static publisher to avoid two queues running at the same time. (from r87792) (from r98164)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@102757 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
d87a65240f
commit
6c300f5659
@ -971,6 +971,7 @@ class LeftAndMain extends Controller {
|
|||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
public function currentPageID() {
|
public function currentPageID() {
|
||||||
|
SS_Backtrace::backtrace();
|
||||||
if($this->request->getVar('ID')) {
|
if($this->request->getVar('ID')) {
|
||||||
return $this->request->getVar('ID');
|
return $this->request->getVar('ID');
|
||||||
} elseif ($this->request->param('ID') && is_numeric($this->request->param('ID'))) {
|
} elseif ($this->request->param('ID') && is_numeric($this->request->param('ID'))) {
|
||||||
|
@ -44,6 +44,11 @@ class RebuildStaticCacheTask extends Controller {
|
|||||||
echo "Rebuilding cache.\nNOTE: Please ensure that this page ends with 'Done!' - if not, then something may have gone wrong.\n\n";
|
echo "Rebuilding cache.\nNOTE: Please ensure that this page ends with 'Done!' - if not, then something may have gone wrong.\n\n";
|
||||||
|
|
||||||
$page = singleton('Page');
|
$page = singleton('Page');
|
||||||
|
$cacheBaseDir = $page->getDestDir();
|
||||||
|
|
||||||
|
if (file_exists($cacheBaseDir.'/lock') && !isset($_REQUEST['force'])) die("There already appears to be a publishing queue running. You can skip warning this by adding ?/&force to the URL.");
|
||||||
|
|
||||||
|
touch($cacheBaseDir.'/lock');
|
||||||
|
|
||||||
foreach($urls as $i => $url) {
|
foreach($urls as $i => $url) {
|
||||||
if($url && !is_string($url)) {
|
if($url && !is_string($url)) {
|
||||||
@ -68,8 +73,6 @@ class RebuildStaticCacheTask extends Controller {
|
|||||||
if(!isset($_GET['urls']) && $start == 0 && file_exists("../cache")) {
|
if(!isset($_GET['urls']) && $start == 0 && file_exists("../cache")) {
|
||||||
echo "Removing stale cache files... \n";
|
echo "Removing stale cache files... \n";
|
||||||
flush();
|
flush();
|
||||||
$cacheBaseDir = $page->getDestDir();
|
|
||||||
|
|
||||||
if (FilesystemPublisher::$domain_based_caching) {
|
if (FilesystemPublisher::$domain_based_caching) {
|
||||||
// Glob each dir, then glob each one of those
|
// Glob each dir, then glob each one of those
|
||||||
foreach(glob(BASE_PATH . '/cache/*', GLOB_ONLYDIR) as $cacheDir) {
|
foreach(glob(BASE_PATH . '/cache/*', GLOB_ONLYDIR) as $cacheDir) {
|
||||||
@ -89,6 +92,9 @@ class RebuildStaticCacheTask extends Controller {
|
|||||||
}
|
}
|
||||||
echo "Rebuilding cache from " . sizeof($mappedUrls) . " urls...\n\n";
|
echo "Rebuilding cache from " . sizeof($mappedUrls) . " urls...\n\n";
|
||||||
$page->extend('publishPages', $mappedUrls);
|
$page->extend('publishPages', $mappedUrls);
|
||||||
|
|
||||||
|
if (file_exists($cacheBaseDir.'/lock')) unlink($cacheBaseDir.'/lock');
|
||||||
|
|
||||||
echo "\n\n== Done! ==";
|
echo "\n\n== Done! ==";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user