- dev/betrieb/deploy.sh: Deploy nur per Tag, mit --seed (Seeder im Wartungsmodus) und --initial (Vorschau/Live einmalig an Ort und Stelle auf Git umstellen) - dev/betrieb/vorschau-auffrischen.sh: Live-DB und Live-Medien in die Vorschau (Generalprobe) - InteriorReleaseSeeder: alle Inhaltsschritte des Relaunchs in einem Lauf, idempotent; Displays, Playlists und Mediathek bleiben unberührt - DisplayInteriorBrandingSeeder überschreibt keinen inzwischen gepflegten Claim mehr - Monitoring: GlitchTip (Server + Browser), /health mit Token, Scheduler-Herzschlag, Alarme per Mail und ntfy, Version in about und /health - public/build versioniert; .gitignore: macOS-Muster Icon traf resources/views/flux/icon/ - Runbook: dev/betrieb/README.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
31 lines
770 B
PHP
31 lines
770 B
PHP
<?php
|
|
|
|
namespace App\Jobs\Monitoring;
|
|
|
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
use Illuminate\Foundation\Queue\Queueable;
|
|
use Illuminate\Support\Facades\Cache;
|
|
|
|
/**
|
|
* Test-Job für `monitoring:queue-probe`: tut nichts außer zu quittieren,
|
|
* dass ein Worker ihn abgeholt hat. Läuft auf der Standard-Queue —
|
|
* der Worker muss sie bedienen.
|
|
*/
|
|
class QueueProbe implements ShouldQueue
|
|
{
|
|
use Queueable;
|
|
|
|
public int $tries = 1;
|
|
|
|
public function __construct(public string $token) {}
|
|
|
|
public static function cacheKey(string $token): string
|
|
{
|
|
return 'monitoring:queue-probe:'.$token;
|
|
}
|
|
|
|
public function handle(): void
|
|
{
|
|
Cache::put(self::cacheKey($this->token), now()->toIso8601String(), now()->addMinutes(10));
|
|
}
|
|
}
|