Skip to content

feat(nimbus): Celery tasks to run holdback analysis weekly#16136

Open
yashikakhurana wants to merge 10 commits into
mainfrom
16086
Open

feat(nimbus): Celery tasks to run holdback analysis weekly#16136
yashikakhurana wants to merge 10 commits into
mainfrom
16086

Conversation

@yashikakhurana

Copy link
Copy Markdown
Contributor

Because

  • Holdback experiments run continuously and need Jetstream to rerun analysis weekly as the eligible population grows

This commit

  • Adds a weekly Celery task that expands the proposed_enrollment window and sets do_rerun to signal Jetstream to rerun analysis

Fixes #16086

@yashikakhurana yashikakhurana changed the title 16086 feat(nimbus): Celery tasks to run holdback analysis weekly Jun 29, 2026
@yashikakhurana

Copy link
Copy Markdown
Contributor Author

Blocked on this #16096

Comment thread experimenter/experimenter/jetstream/tasks.py
Comment thread experimenter/experimenter/jetstream/tasks.py Outdated
Comment thread experimenter/experimenter/jetstream/tasks.py Outdated
Comment thread experimenter/experimenter/jetstream/tasks.py Outdated
Comment thread experimenter/experimenter/jetstream/tasks.py Outdated
Comment thread experimenter/experimenter/settings.py
@yashikakhurana yashikakhurana requested a review from mikewilli June 30, 2026 22:45
Yashika Khurana added 6 commits June 30, 2026 15:50
…x test expectations

Holdback experiments never pause enrollment so actual_enrollment_end_date
is always None, causing the task to skip every experiment. Switch to
computed_enrollment_end_date (start_date + proposed_enrollment) which
correctly reflects when the initial enrollment window expires.

Update test comment and expected value to match the corrected calculation
(36 days since end → weeks_elapsed=5 → 14+35=49).
…back

- Run daily instead of weekly (holdbacks can launch any day)
- Use today - 21 days as rolling enrollment_end (observation period)
- Skip experiments with end_date set (actually ended holdbacks)
- Update _enrollment_end_date instead of proposed_enrollment
- Add changelog entry per updated experiment
- Compute proposedEnrollment, enrollmentEndDate, endDate on-the-fly
  in v8 serializer for active holdbacks — real fields stay untouched
- Add HOLDBACK_ENROLLMENT_UPDATED changelog message constant
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Weekly task to update holdback enrollment period and trigger Jetstream rerun

2 participants