feat(etl): scheduled release publisher (parity 4A)#247
Open
raymondjacobson wants to merge 1 commit intoetl/parity-2e-track-download-dedupefrom
Open
feat(etl): scheduled release publisher (parity 4A)#247raymondjacobson wants to merge 1 commit intoetl/parity-2e-track-download-dedupefrom
raymondjacobson wants to merge 1 commit intoetl/parity-2e-track-download-dedupefrom
Conversation
Stack 4A. Adds ScheduledReleasePublisher periodic task that mirrors apps' publish_scheduled_releases celery task: every 60s, flips - tracks: is_unlisted=true → false when is_scheduled_release and release_date < now() - playlists: is_private=true → false when is_album AND is_scheduled_release AND release_date < now() (apps only auto-publishes albums) Wired into Indexer.Start() via errgroup alongside the existing materialized view refresher; gated by Config.EnableScheduledReleases (default true, DisableScheduledReleases() opt-out). Two DB-backed tests verify: - past-due scheduled track publishes; future-scheduled track does not - past-due scheduled album publishes; non-album scheduled playlist does not Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Stack 4A. Adds `ScheduledReleasePublisher`: a periodic background task (60s interval) that mirrors apps' `publish_scheduled_releases` celery task.
Wired into `Indexer.Start()` via errgroup alongside the existing MV refresher. Gated by `Config.EnableScheduledReleases` (default true; `DisableScheduledReleases()` opt-out).
Note on 3A (skipped)
Stack 3A (`sort_block_transactions`) is a no-op for go-openaudio. apps sorts L1 receipts (which arrive unordered); CometBFT delivers transactions in deterministic block order and `indexer.go` iterates them as-is. Verified, no commit needed.
Stack context
Stacked on #246 (2E — track_download dedupe). 3A skipped.
Test plan
🤖 Generated with Claude Code