linkedin / linkedin/oncall

Scheduling of multiple roles

Open
#422 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.3k
Forks
245
PR merge metrics
No merged PRs in 30d

Description

Hi,

Not sure how to summarize this in the title so sorry if it was confusing..
In our on-call, we have multiple roles where one requires a higher level of permissions than the primary. Let's call them primary and secure. All members of the secure role will be part of the primary role as well, but there are a couple of people in the primary role that is not cleared for the secure role.

I would therefor like the scheduler to only schedule an extra for the more secure role when necessary, i.e when someone without the secure role is scheduled for primary.

Example:

Primary:
Mark
John
Fred

Secure:
Mark
John

Weekly schedule:
W1: Mark
W2: John
W3: Fred & Mark
W4: Mark
W5: John
W6: Fred & John

I haven't figured out a way to do this with the current version, so I guess it needs another scheduling algorithm?
It's difficult to explain, so I hope this makes sense.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the scheduler implementation and existing tests for multiple roles, then reproduce the Primary and Secure example from the issue. Define the scheduling behavior for overlapping roles and confirm that extra Secure assignments occur only when the Primary assignee lacks Secure membership.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.