Команды проекта

Главная

Справочник Symfony-команд проекта

Как запускать команды

cd /var/www/html
./symfony <command> [args] [options]
cd /var/www/html
php app/bin/console <command> [args] [options]

Примечание: у Symfony есть глобальные опции, даже если команда их явно не объявляет:

Команды, которые запускаются по cron (через скрипты-обёртки)

В проекте предусмотрены скрипты в .app-runners/cron/, которые вызывают Symfony-команды:

Также есть диагностический скрипт .app-runners/cron/check-update-ads.sh (это не Symfony-команда).

Таблица команд

Ниже перечислены команды из app/src/Cmd (и одна команда на атрибуте AsCommand), разбитые на несколько таблиц по функционалу.

Обновление данных (cron/кэш)

Команда Файл Описание Аргументы Опции запуска Пример запуска Cron
app:na app/src/Cmd/NaProjects.php get projects from natrium. ./symfony app:na Да: .app-runners/cron/update-campaigns.sh (каждые 30 минут)
app:update-campaigns app/src/Cmd/UpdateCampaigns.php Обновление данных всех кампаний в Redis без чистки. --login=LOGIN
--quiet, -q
./symfony app:update-campaigns --quiet Да: .app-runners/cron/update-campaigns.sh (каждые 30 минут)
app:update-ads app/src/Cmd/UpdateAds.php Обновление данных объявлений для активных кампаний. --login=LOGIN
--campaign=ID
--quiet, -q
./symfony app:update-ads --quiet Да: .app-runners/cron/update-ads.sh (пн/ср/пт 09:00)
app:update-campaigns-cost app/src/Cmd/UpdateCampaignsCostCommand.php Обновление расходов по кампаниям для отчёта качества. --login=LOGIN
--force, -f
--quiet, -q
./symfony app:update-campaigns-cost --quiet Да: .app-runners/cron/update-ads.sh (пн/ср/пт 09:00)
app:update-ctr-devices app/src/Cmd/UpdateCtrDevicesCommand.php Обновление CTR по устройствам для отчёта качества. --login=LOGIN
--force, -f
--quiet, -q
./symfony app:update-ctr-devices --quiet Да: .app-runners/cron/update-ads.sh (пн/ср/пт 09:00)
app:dashboard-update app/src/Cmd/DashboardUpdateCommand.php Обновление расходов проектов для дашборда. --login=LOGIN
--quiet, -q
./symfony app:dashboard-update --login=LOGIN Нет (см. docs/cron-functionality.md)

Отчёт качества (проверки/тесты)

Команда Файл Описание Аргументы Опции запуска Пример запуска Cron
app:check-report-quality-data app/src/Cmd/CheckReportQualityDataCommand.php Проверка данных для отчёта качества. ./symfony app:check-report-quality-data Нет
app:import-report-quality-exclusions app/src/Cmd/ImportReportQualityExclusionsCommand.php Импорт исключений проектов из CSV файла. FILE (обязательно) --dry-run ./symfony app:import-report-quality-exclusions file.csv --dry-run Нет
app:test-metric-31 app/src/Cmd/TestMetric31Command.php Проверка расчёта метрики 3.1. ./symfony app:test-metric-31 Нет
app:test-metric-34 app/src/Cmd/TestMetric34Command.php Проверка расчёта метрики 3.4 для логина. LOGIN (опционально) ./symfony app:test-metric-34 LOGIN Нет
app:test-metric-39 app/src/Cmd/TestMetric39Command.php Проверка расчёта метрики 3.9 для логина. LOGIN (опционально) ./symfony app:test-metric-39 LOGIN Нет
app:test-metric-310 app/src/Cmd/TestMetric310Command.php Проверка расчёта метрики 3.10 для логина. LOGIN (обязательно) ./symfony app:test-metric-310 LOGIN Нет
app:test-metric-316 app/src/Cmd/TestMetric316Command.php Проверка расчёта метрики 3.16 для логина. ./symfony app:test-metric-316 Нет
app:test-metric-317 app/src/Cmd/TestMetric317Command.php Проверка расчёта метрики 3.17 для логина. LOGIN (опционально)
AD_ID (опционально)
./symfony app:test-metric-317 LOGIN AD_ID Нет
app:test-metric-319 app/src/Cmd/TestMetric319Command.php Проверка расчёта метрики 3.19 для логина. LOGIN (опционально) ./symfony app:test-metric-319 LOGIN Нет
app:test-campaign-metric app/src/Cmd/TestCampaignMetric.php Проверка данных кампании для метрики 3.10. LOGIN (обязательно)
CAMPAIGN_ID (обязательно)
./symfony app:test-campaign-metric LOGIN CAMPAIGN_ID Нет

Чистка/пайплайны

Команда Файл Описание Аргументы Опции запуска Пример запуска Cron
app:fix app/src/Cmd/YaFix.php минусуем рекламные сети. --limit=N ./symfony app:fix --quiet Да: .app-runners/cron/cleanup-campaigns.sh (3 и 17 число 02:00)
app:syn app/src/Cmd/YaSynapse.php ya cli test synapse. ./symfony app:syn Нет
app:test-global-cleanup-step app/src/Cmd/TestGlobalCleanupStep.php Тестирует шаги глобальной чистки по отдельности. STEP (обязательно, 1–13) ./symfony app:test-global-cleanup-step 8 Нет
app:test-login-webhook app/src/Cmd/TestLoginWebhook.php Тест формата webhook данных после чистки кабинета. LOGIN (обязательно) --send, -s ./symfony app:test-login-webhook LOGIN --send Нет

Кампании (диагностика)

Команда Файл Описание Аргументы Опции запуска Пример запуска Cron
app:check-campaigns app/src/Cmd/CheckCampaigns.php Проверка кампаний в Redis для логина. LOGIN (обязательно) ./symfony app:check-campaigns LOGIN Нет
app:diagnose-campaigns app/src/Cmd/DiagnoseCampaigns.php Диагностика загрузки кампаний для логина. LOGIN (обязательно) ./symfony app:diagnose-campaigns LOGIN Нет
app:check-campaign-source app/src/Cmd/CheckCampaignSource.php Проверка источника кампании (API или отчёт). LOGIN (обязательно)
CAMPAIGN_ID (обязательно)
./symfony app:check-campaign-source LOGIN CAMPAIGN_ID Нет

Задачи/Redis (обслуживание)

Команда Файл Описание Аргументы Опции запуска Пример запуска Cron
app:check-stuck-tasks app/src/Cmd/CheckStuckTasks.php Проверка зависших задач в статусе running. ./symfony app:check-stuck-tasks Нет
app:fix-stuck-subtasks app/src/Cmd/FixStuckSubtasks.php Исправление зависших подзадач. --parent-task-id=TASK_ID
--force
./symfony app:fix-stuck-subtasks --force Нет
app:cleanup-redis-tasks app/src/Cmd/CleanupRedisTasks.php Очистка Redis: задачи, очереди, cooldown. ./symfony app:cleanup-redis-tasks Нет
app:check-cooldown app/src/Cmd/CheckCooldown.php Проверка записей cooldown в Redis. ./symfony app:check-cooldown Нет
app:tasks:migrate app/src/Cmd/TasksMigrate.php Migrate tasks from temporary storage to permanent storage. ./symfony app:tasks:migrate Нет

Домены/приложения/поиск

Команда Файл Описание Аргументы Опции запуска Пример запуска Cron
app:net app/src/Cmd/NetworkDb.php fill domains information. --limit=N ./symfony app:net --limit=50 Нет
app:domains app/src/Cmd/DomainsProcess.php Process domains through pipeline. --limit=N
--domain=NAME (можно несколько)
./symfony app:domains --limit=50 Нет
app:apps app/src/Cmd/AppsProcess.php Process applications through pipeline. --limit=N
--domain=NAME (можно несколько)
./symfony app:apps --limit=100 Нет
app:ya:search app/src/Cmd/YaSearchCommand.php Выполнить поиск в Яндексе (WebSearch v2/XML). query (опционально) --domain=DOMAIN
--limit=N
./symfony app:ya:search --domain=example.com --limit=10 Нет

Прочее

Команда Файл Описание Аргументы Опции запуска Пример запуска Cron
app:ya app/src/Cmd/YaCommand.php ya cli test. ./symfony app:ya Нет
app:echo app/src/Cmd/EchoCommand.php echo. ./symfony app:echo Нет