refactor: extract shared code from bin/ scripts and remove legacy scheduler runner
- Extract ModuleManifestLoader for standalone manifest loading (used by module-deactivate and ValidateCommand) - Extract SqlStatementParser, ModuleMigrationRepository, and ModuleMigrationService from bin/module-migrate.php to enforce strict layering (SQL in repository, orchestration in service) - Delete bin/scheduler-run.php (fully superseded by bin/console scheduler:run) - Update docs and test fixtures to reference bin/console Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -103,6 +103,6 @@ $meinService = app(\MintyPHP\Service\MeinNeuerService::class);
|
||||
den konkreten Service direkt registrieren und per `app()` holen.
|
||||
- Der Container lebt **pro HTTP-Anfrage** — er wird in `web/index.php` initialisiert
|
||||
und über `setAppContainer()` im globalen State abgelegt.
|
||||
- In CLI-Skripten (`bin/`) wird der Container separat initialisiert (s. `bin/scheduler-run.php`).
|
||||
- In CLI-Skripten (`bin/`) wird der Container separat initialisiert (s. `bin/module-cli-bootstrap.php`).
|
||||
- In `lib/Service/**` außerhalb von `*Factory.php` niemals `new ...Factory()`,
|
||||
`new ...Service()` oder `new ...Repository()` direkt instanziieren.
|
||||
|
||||
@@ -8,7 +8,7 @@ Scheduler-Betrieb und Job-Erweiterung kurz und verlässlich dokumentieren.
|
||||
|
||||
## Kernkomponenten
|
||||
|
||||
- Runner: `bin/scheduler-run.php`
|
||||
- Runner: `bin/console scheduler:run`
|
||||
- Orchestrierung: `lib/Service/Scheduler/SchedulerRunService.php`
|
||||
- Job-Konfiguration: `lib/Service/Scheduler/ScheduledJobService.php`
|
||||
- Registry: `lib/Service/Scheduler/ScheduledJobRegistry.php`
|
||||
|
||||
@@ -50,11 +50,11 @@ Automatische Lifecycle-Aktionen ignorieren Benutzer mit mindestens einer aktiven
|
||||
### Cron/CLI
|
||||
|
||||
- Bevorzugt über den zentralen Scheduler:
|
||||
- Script: `bin/scheduler-run.php` (führt fällige Jobs aus, inkl. `user_lifecycle_run`)
|
||||
- Kommando: `bin/console scheduler:run` (führt fällige Jobs aus, inkl. `user_lifecycle_run`)
|
||||
- Beispiel (minütlich):
|
||||
|
||||
```bash
|
||||
* * * * * docker compose exec php php bin/scheduler-run.php
|
||||
* * * * * docker compose exec php php bin/console scheduler:run
|
||||
```
|
||||
|
||||
Exit-Codes:
|
||||
|
||||
Reference in New Issue
Block a user