Консольные команды
JournalPHP использует Artisan — стандартный CLI Laravel.
Запуск команд
В dev-окружении:
bash
docker compose exec app php artisan <команда>В production:
bash
docker compose -f docker-compose.prod.yml exec app php artisan <команда>Команды JournalPHP
Расположены в app/Console/Commands/. Запускаются вручную или по расписанию через Laravel Scheduler.
Пользователи
| Сигнатура | Назначение |
|---|---|
users:unban | Снятие временных банов, срок которых истёк |
users:purge-deleted | Безвозвратное удаление soft-deleted аккаунтов |
Рейтинг
| Сигнатура | Назначение |
|---|---|
rating:update-place-history | Пересчёт и сохранение истории рейтинговых мест пользователей |
Подписки
| Сигнатура | Назначение |
|---|---|
subscriptions:payments:check-pending | Проверка pending-платежей и постановка задач в очередь |
subscriptions:auto-renew | Запуск цикла автопродления подписок |
Опции subscriptions:payments:check-pending:
| Опция | По умолчанию | Назначение |
|---|---|---|
--queue=subscription-payments | subscription-payments | Очередь для фоновой обработки платежей |
--minutes=10 | 10 | Сколько минут учитывать при поиске pending-платежей |
Контент
| Сигнатура | Назначение |
|---|---|
post-counts:refresh | Пересчёт денормализованных счётчиков постов |
topics:update-activity-score | Обновление score активности сообществ (за 7 дней) |
Медиа
| Сигнатура | Назначение |
|---|---|
media:cleanup-orphaned {--limit=500} | Удаление медиафайлов, не привязанных ни к одной сущности |
Модерация
| Сигнатура | Назначение |
|---|---|
moderation:comments {--sync} | Запуск AI-модерации комментариев из очереди |
Стандартные команды Laravel
База данных
bash
php artisan migrate --force # Применить миграции
php artisan migrate:status # Статус миграций
php artisan db:seed # Запустить сиды
php artisan migrate:rollback # Откатить последнюю партию миграцийКэш
bash
php artisan optimize:clear
php artisan cache:clear
php artisan route:cache
php artisan view:cache
php artisan config:cacheПриложение
bash
php artisan key:generate
php artisan storage:link
php artisan aboutОчереди и WebSocket
bash
php artisan horizon
php artisan reverb:start
php artisan queue:work
php artisan queue:failed
php artisan queue:retry allПоиск (Scout)
bash
php artisan scout:import "App\Models\Post" # Переиндексировать посты
php artisan scout:flush "App\Models\Post" # Очистить индексИнтерактивная консоль
bash
docker compose exec app php artisan tinkerПозволяет выполнять PHP-код в контексте приложения — удобно для отладки и ручных операций с данными.
Список всех команд
bash
docker compose exec app php artisan listРасписание (Scheduler)
Автоматический запуск команд настраивается в app/Console/Kernel.php. Текущее расписание:
| Команда | Интервал |
|---|---|
users:unban | каждый час |
rating:update-place-history | каждую минуту |
subscriptions:payments:check-pending | каждую минуту |
subscriptions:auto-renew | каждый час |
users:purge-deleted | каждый час |
media:cleanup-orphaned | каждые 30 минут |
topics:update-activity-score | дважды в день |
moderation:comments | каждую минуту |
Для работы планировщика в production добавьте крон:
bash
* * * * * docker exec <container_name> php artisan schedule:run >> /dev/null 2>&1Или через Docker:
bash
docker compose exec app php artisan schedule:runФайл routes/console.php используется только для регистрации closure-команд Artisan, а не для расписания.