app->bind(SendQueuedMailable::class, PacedMail::class); } public function boot(): void { // Die Einstellungen werden im Rückruf gelesen, nicht hier: der Rückruf // läuft im Arbeiter je Auftrag, und eine Änderung des Betreibers wirkt // damit ab dem nächsten Auftrag statt erst ab dem nächsten Neustart. RateLimiter::for(MailLane::URGENT, fn () => Limit::perMinutes( (int) Settings::get('mail.pace.urgent.minutes', 5), (int) Settings::get('mail.pace.urgent.count', 30), )); RateLimiter::for(MailLane::CALM, fn () => Limit::perMinutes( (int) Settings::get('mail.pace.calm.minutes', 10), (int) Settings::get('mail.pace.calm.count', 20), )); } }