Änderungen (relevant):
- Add‑on Checkout auf Transactions + Transaction‑ID speichern: app/Services/Addons/EventAddonCheckoutService.php
- Paket/Marketing Checkout auf Transactions: app/Services/Paddle/PaddleCheckoutService.php
- Gift‑Voucher Checkout: Customer anlegen/finden + Transactions: app/Services/GiftVouchers/
GiftVoucherCheckoutService.php
- Tests aktualisiert: tests/Feature/Tenant/EventAddonCheckoutTest.php, tests/Unit/PaddleCheckoutServiceTest.php,
tests/Unit/GiftVoucherCheckoutServiceTest.php
This commit is contained in:
@@ -36,12 +36,55 @@ return Application::configure(basePath: dirname(__DIR__))
|
||||
\App\Console\Commands\SeedDemoSwitcherTenants::class,
|
||||
])
|
||||
->withSchedule(function (\Illuminate\Console\Scheduling\Schedule $schedule) {
|
||||
$schedule->command('package:check-status')->dailyAt('06:00');
|
||||
$schedule->command('photobooth:cleanup-expired')->hourly()->withoutOverlapping();
|
||||
$schedule->command('photobooth:ingest')->everyFiveMinutes()->withoutOverlapping();
|
||||
$schedule->command('exports:purge')->dailyAt('02:00');
|
||||
$schedule->command('tenants:retention-scan')->dailyAt('03:00');
|
||||
$schedule->command('guest:feedback-reminders')->dailyAt('22:00');
|
||||
$onFailure = static function (string $command): \Closure {
|
||||
return static function () use ($command): void {
|
||||
\App\Support\SentryReporter::captureException(
|
||||
new \RuntimeException('Scheduled command failed'),
|
||||
[
|
||||
'tags' => [
|
||||
'schedule_command' => $command,
|
||||
],
|
||||
],
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
$schedule->command('package:check-status')
|
||||
->dailyAt('06:00')
|
||||
->onFailure($onFailure('package:check-status'));
|
||||
$schedule->command('storage:monitor')
|
||||
->everyFiveMinutes()
|
||||
->withoutOverlapping()
|
||||
->onFailure($onFailure('storage:monitor'));
|
||||
$schedule->command('storage:check-upload-queues')
|
||||
->everyFiveMinutes()
|
||||
->withoutOverlapping()
|
||||
->onFailure($onFailure('storage:check-upload-queues'));
|
||||
$schedule->command('storage:archive-pending')
|
||||
->dailyAt('01:00')
|
||||
->withoutOverlapping()
|
||||
->onFailure($onFailure('storage:archive-pending'));
|
||||
$schedule->command('photobooth:cleanup-expired')
|
||||
->hourly()
|
||||
->withoutOverlapping()
|
||||
->onFailure($onFailure('photobooth:cleanup-expired'));
|
||||
$schedule->command('photobooth:ingest')
|
||||
->everyFiveMinutes()
|
||||
->withoutOverlapping()
|
||||
->onFailure($onFailure('photobooth:ingest'));
|
||||
$schedule->command('checkout:send-reminders')
|
||||
->hourly()
|
||||
->withoutOverlapping()
|
||||
->onFailure($onFailure('checkout:send-reminders'));
|
||||
$schedule->command('exports:purge')
|
||||
->dailyAt('02:00')
|
||||
->onFailure($onFailure('exports:purge'));
|
||||
$schedule->command('tenants:retention-scan')
|
||||
->dailyAt('03:00')
|
||||
->onFailure($onFailure('tenants:retention-scan'));
|
||||
$schedule->command('guest:feedback-reminders')
|
||||
->dailyAt('22:00')
|
||||
->onFailure($onFailure('guest:feedback-reminders'));
|
||||
})
|
||||
->withMiddleware(function (Middleware $middleware) {
|
||||
$middleware->trustProxies(
|
||||
|
||||
Reference in New Issue
Block a user