mirror of
https://github.com/Terranom674/Piwigo_Bratonien_Tools.git
synced 2026-09-19 10:34:30 +00:00
Exclude WebDAV images from legacy cache worker totals
This commit is contained in:
@@ -23,7 +23,7 @@ $_SERVER['REQUEST_URI'] = '/';
|
|||||||
$_SERVER['SCRIPT_NAME'] = '/plugins/bratonien_tools/main-cache-build.php';
|
$_SERVER['SCRIPT_NAME'] = '/plugins/bratonien_tools/main-cache-build.php';
|
||||||
$_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME'];
|
$_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME'];
|
||||||
$_SERVER['QUERY_STRING'] = '';
|
$_SERVER['QUERY_STRING'] = '';
|
||||||
$_SERVER['HTTP_USER_AGENT'] = 'Bratonien-Piwigo-Cache-Builder/1.4';
|
$_SERVER['HTTP_USER_AGENT'] = 'Bratonien-Piwigo-Cache-Builder/1.5';
|
||||||
$_SERVER['HTTPS'] = 'off';
|
$_SERVER['HTTPS'] = 'off';
|
||||||
|
|
||||||
require_once(PHPWG_ROOT_PATH.'include/common.inc.php');
|
require_once(PHPWG_ROOT_PATH.'include/common.inc.php');
|
||||||
@@ -208,7 +208,18 @@ function bratonien_tools_cache_builder_worker($worker_index, $worker_count, $run
|
|||||||
$result = pwg_query('SELECT * FROM '.IMAGES_TABLE.' ORDER BY id');
|
$result = pwg_query('SELECT * FROM '.IMAGES_TABLE.' ORDER BY id');
|
||||||
while ($row = pwg_db_fetch_assoc($result))
|
while ($row = pwg_db_fetch_assoc($result))
|
||||||
{
|
{
|
||||||
if (((int)$row['id'] % $worker_count) === $worker_index)
|
$image_id = (int)$row['id'];
|
||||||
|
|
||||||
|
// WebDAV-Bilder gehören vollständig in den materialisierenden Rebuild-/Warmup-Pfad.
|
||||||
|
// Sie dürfen im Legacy-Worker weder erzeugt noch als "übersprungen" gezählt werden,
|
||||||
|
// weil das die Fortschrittsanzeige nach einem Cache-Leeren fälschlich wie einen
|
||||||
|
// abgeschlossenen Lauf aussehen lässt.
|
||||||
|
if (bratonien_tools_webdav_materialize_source_info($image_id))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (($image_id % $worker_count) === $worker_index)
|
||||||
{
|
{
|
||||||
$rows[] = $row;
|
$rows[] = $row;
|
||||||
}
|
}
|
||||||
@@ -230,7 +241,6 @@ function bratonien_tools_cache_builder_worker($worker_index, $worker_count, $run
|
|||||||
$source_path = $src->get_path();
|
$source_path = $src->get_path();
|
||||||
$image_id = (int)$image_row['id'];
|
$image_id = (int)$image_row['id'];
|
||||||
$metadata = null;
|
$metadata = null;
|
||||||
$webdav_source = bratonien_tools_webdav_materialize_source_info($image_id);
|
|
||||||
|
|
||||||
foreach ($variants as $variant_name => $requested_params)
|
foreach ($variants as $variant_name => $requested_params)
|
||||||
{
|
{
|
||||||
@@ -251,27 +261,6 @@ function bratonien_tools_cache_builder_worker($worker_index, $worker_count, $run
|
|||||||
$derivative = new DerivativeImage($requested_params, $src);
|
$derivative = new DerivativeImage($requested_params, $src);
|
||||||
$target_path = $derivative->get_path();
|
$target_path = $derivative->get_path();
|
||||||
|
|
||||||
// WebDAV-Connector-Bilder besitzen absichtlich nur einen Placeholder als
|
|
||||||
// lokale Quelle. Der alte Full-Cache-Builder darf diesen niemals direkt
|
|
||||||
// rendern. Fehlende Connector-Derivate gehören ausschließlich in den
|
|
||||||
// materialisierenden WebDAV-Warmup-/On-Demand-Pfad.
|
|
||||||
if ($webdav_source)
|
|
||||||
{
|
|
||||||
if (
|
|
||||||
strpos($target_path, PHPWG_ROOT_PATH.PWG_DERIVATIVE_DIR) === 0
|
|
||||||
&& is_file($target_path)
|
|
||||||
&& is_readable($target_path)
|
|
||||||
)
|
|
||||||
{
|
|
||||||
$cached++;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$skipped++;
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (strpos($target_path, PHPWG_ROOT_PATH.PWG_DERIVATIVE_DIR) !== 0)
|
if (strpos($target_path, PHPWG_ROOT_PATH.PWG_DERIVATIVE_DIR) !== 0)
|
||||||
{
|
{
|
||||||
$skipped++;
|
$skipped++;
|
||||||
@@ -497,7 +486,7 @@ for ($i=0; $i<$worker_count; $i++)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$running_message = sprintf('Piwigo-Bildcache wird mit %d parallelen Worker(n) aufgebaut.', $worker_count);
|
$running_message = sprintf('Piwigo-Bildcache wird mit %d parallelen Worker(n) aufgebaut. WebDAV-Bilder laufen getrennt über den Piwigo-Rebuild.', $worker_count);
|
||||||
bratonien_tools_write_main_cache_status(array(
|
bratonien_tools_write_main_cache_status(array(
|
||||||
'state'=>'running',
|
'state'=>'running',
|
||||||
'message'=>$running_message,
|
'message'=>$running_message,
|
||||||
@@ -546,7 +535,7 @@ $state = bratonien_tools_cache_builder_aggregate(
|
|||||||
$worker_count,
|
$worker_count,
|
||||||
$was_cancelled
|
$was_cancelled
|
||||||
? 'Piwigo-Bildcache-Aufbau wurde abgebrochen.'
|
? 'Piwigo-Bildcache-Aufbau wurde abgebrochen.'
|
||||||
: ($exit_error ? 'Piwigo-Bildcache beendet; mindestens ein Worker meldete einen Prozessfehler.' : 'Piwigo-Bildcache wurde aufgebaut.')
|
: ($exit_error ? 'Piwigo-Bildcache beendet; mindestens ein Worker meldete einen Prozessfehler.' : 'Lokaler Piwigo-Bildcache wurde aufgebaut; WebDAV-Bilder laufen getrennt über den Piwigo-Rebuild.')
|
||||||
);
|
);
|
||||||
|
|
||||||
for ($i=0; $i<$worker_count; $i++)
|
for ($i=0; $i<$worker_count; $i++)
|
||||||
@@ -560,3 +549,4 @@ fclose($lock);
|
|||||||
@unlink($lock_path);
|
@unlink($lock_path);
|
||||||
|
|
||||||
exit(($state === 'error' || $exit_error) ? 1 : 0);
|
exit(($state === 'error' || $exit_error) ? 1 : 0);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user