fix(#233): add pzz_sync to beat schedule (monthly) #241
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#241
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/issue233-pzz-sync-beat"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
pzz_zones_ekbимеет 0 строк live — задачаsync_pzz_zones_ekb(PKK6 ArcGIS) и admin endpointPOST /api/v1/admin/scrape/pzz-syncуже существуют, но beat schedule для неё отсутствовал.Добавлен entry
pzz-sync-monthlyвbackend/app/workers/beat_schedule.py:0 0 1 * *(1-е число месяца, 00:00 UTC = 03:00 МСК)tasks.pzz_sync.sync_pzz_zones_ekbceleryOperations follow-up (вне scope PR)
После merge + deploy: manual trigger для первоначального наполнения (beat сам сработает только 1-го июня):
Test plan
ruff check backend/app/workers/beat_schedule.py✅ All checks passeddocker compose logs celery-beat | grep pzz-sync-monthlySELECT COUNT(*) FROM pzz_zones_ekb> 0nspd_geo_logstage='pzz_sync')Closes #233
Merged via deep-code-reviewer — verdict APPROVE.
Findings:
tasks.pzz_sync.sync_pzz_zones_ekbзарегистрирован:celery_app.pyinclude=[..., "app.workers.tasks.pzz_sync", ...], имя совпадает с decoratorON CONFLICT (rosreestr_id) DO UPDATE+ SAVEPOINT per-row — повторный запуск безопасенcelery— консистентно с другими fallback-entriesrunbooks/Beat_Schedule_Module.mdиdomains/sitefinder/PZZ_Zones_EKB.mdуже отражают новый entryNit (не блокер, отдельным PR при удобном случае):
celery_app.conf.timezone = "Europe/Moscow"→ cron интерпретируется в МСК, не UTC. Фактически0 0 1 * *сработает 1-го числа 00:00 МСК, а не 03:00 МСК как написано в комментарии (та же ошибка унаследована вekburg-permits-monthly). Поведение приемлемо, но комментарии стоит подправить.Operations follow-up:
pzz_zones_ekb:docker compose logs celery-beat | grep pzz-sync-monthlySELECT COUNT(*) FROM pzz_zones_ekb;