Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 17, 2025

Weekly schedules previously required explicit times (e.g., weekly on monday at 06:30), causing all workflows to run simultaneously and creating load spikes. This adds fuzzy scheduling for weekly patterns to distribute execution times.

Changes

New fuzzy schedule patterns:

  • weekly - Scatters across any weekday and time (10,080 possible slots)
  • weekly on <day> - Scatters time on specific weekday (1,440 slots)
  • weekly on <day> around HH:MM - Scatters within ±1 hour of target time (120 slots)

Implementation:

  • Added FUZZY:WEEKLY, FUZZY:WEEKLY:<day>, and FUZZY:WEEKLY_AROUND:<day>:HH:MM patterns
  • Deterministic scattering using workflow identifier as seed (consistent across recompilations)
  • IsWeeklyCron() helper to detect fixed weekly patterns
  • Compiler warnings for fixed weekly schedules

Example:

# Old (fixed time, load spikes)
schedule: weekly on monday at 06:30

# New (fuzzy, distributed)  
schedule: weekly on monday          # Scattered time on Mondays
schedule: weekly on friday around 5pm  # 4-6 PM window on Fridays
schedule: weekly                    # Any weekday, any time

Fixed weekly schedules still work but emit warnings recommending fuzzy alternatives.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/user
    • Triggering command: /usr/bin/gh gh api user --jq .login -json GO111MODULE ache/go/1.25.0/x64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE ache/go/1.25.0/xTest User env 2593034/b370/console.test GO111MODULE 2593034/b370/importcfg.link GOINSECURE GOMOD GOMODCACHE SKxUVknvXufI3/2ZUc9vejZHNutLcI0T/var/run/docker/runtime-runc/moby (http block)
    • Triggering command: /usr/bin/gh gh api user --jq .login (http block)
    • Triggering command: /usr/bin/gh gh api user --jq .login -json GO111MODULE 1/x64/bin/node 44d029610ffef2175685fe8cbf023ab79e6/log.json GOMOD GOMODCACHE go env 59/create_discussion.js GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE 08d1e7cc9018fe0e--bundle (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

Add weekly support fo fuzz scheduling


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 3 commits December 17, 2025 01:58
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Add weekly support for fuzz scheduling Add fuzzy scheduling support for weekly schedules Dec 17, 2025
Copilot AI requested a review from pelikhan December 17, 2025 02:21
@pelikhan pelikhan marked this pull request as ready for review December 17, 2025 03:22
@pelikhan pelikhan merged commit 1b0466c into main Dec 17, 2025
83 checks passed
@pelikhan pelikhan deleted the copilot/add-weekly-support-fuzz-scheduling branch December 17, 2025 03:23
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.

2 participants