ghost
1 year ago
3 changed files with 81 additions and 1 deletions
@ -0,0 +1,78 @@
@@ -0,0 +1,78 @@
|
||||
<?php |
||||
|
||||
// Lock multi-thread execution |
||||
$semaphore = sem_get(crc32('yggtracker.crontab.sitemap'), 1); |
||||
|
||||
if (false === sem_acquire($semaphore, true)) { |
||||
|
||||
exit (PHP_EOL . 'yggtracker.crontab.sitemap process locked by another thread.' . PHP_EOL); |
||||
} |
||||
|
||||
// Load system dependencies |
||||
require_once(__DIR__ . '/../config/app.php'); |
||||
require_once(__DIR__ . '/../library/database.php'); |
||||
|
||||
// Init Debug |
||||
$debug = [ |
||||
'time' => [ |
||||
'ISO8601' => date('c'), |
||||
'total' => microtime(true), |
||||
], |
||||
]; |
||||
|
||||
// Connect DB |
||||
try { |
||||
|
||||
$db = new Database(DB_HOST, DB_PORT, DB_NAME, DB_USERNAME, DB_PASSWORD); |
||||
|
||||
} catch(Exception $e) { |
||||
|
||||
var_dump($e); |
||||
|
||||
exit; |
||||
} |
||||
|
||||
// Begin |
||||
try { |
||||
|
||||
// Delete cache |
||||
@unlink(__DIR__ . '/../public/sitemap.xml'); |
||||
|
||||
if ($handle = fopen(__DIR__ . '/../public/sitemap.xml', 'w+')) |
||||
{ |
||||
|
||||
fwrite($handle, '<?xml version="1.0" encoding="UTF-8"?>'); |
||||
fwrite($handle, '<urlset>'); |
||||
|
||||
foreach ($db->getMagnets() as $magnet) |
||||
{ |
||||
if ($magnet->public && $magnet->approved) |
||||
{ |
||||
fwrite($handle, sprintf('<url><loc>%s/magnet.php?magnetId=%s</loc></url>', WEBSITE_URL, $magnet->magnetId)); |
||||
} |
||||
} |
||||
|
||||
fwrite($handle, '</urlset>'); |
||||
fclose($handle); |
||||
} |
||||
|
||||
} catch (EXception $e) { |
||||
|
||||
var_dump($e); |
||||
} |
||||
|
||||
// Debug output |
||||
$debug['time']['total'] = microtime(true) - $debug['time']['total']; |
||||
|
||||
print_r( |
||||
array_merge($debug, [ |
||||
'db' => [ |
||||
'total' => [ |
||||
'select' => $db->getDebug()->query->select->total, |
||||
'insert' => $db->getDebug()->query->insert->total, |
||||
'update' => $db->getDebug()->query->update->total, |
||||
'delete' => $db->getDebug()->query->delete->total, |
||||
] |
||||
] |
||||
]) |
||||
); |
Loading…
Reference in new issue