Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow tasks to block dispatch #14056

Closed
hschallhorn opened this issue Apr 21, 2020 · 6 comments
Closed

Allow tasks to block dispatch #14056

hschallhorn opened this issue Apr 21, 2020 · 6 comments
Labels
Feature: generic-queue Priority: Medium Blocking issue w/workaround, or "second in" priority for new work. Product: caseflow-queue Stakeholder: BVA Functionality associated with the Board of Veterans' Appeals workflows/feature requests Team: Echo 🐬 Type: Enhancement Enhancement to an existing feature

Comments

@hschallhorn
Copy link
Contributor

hschallhorn commented Apr 21, 2020

Connects #14055 and #14661

Following discussions on various implementations on blocking dispatch tasks, echo engineers have chosen a solution which we feel will cover the desired blocking scenarios and be the least likely to cause disruption to other areas of the codebase.

The solution revolves around determining the status of a blocking task's appeal prior to its creation, which in return will determine whether the task is created on the BvaDispatchTask or the RootTask.

BvaDispatchTask

  • If there is an open BvaDispatchTask assigned to a user, the blocking task should be created as a child to this task. In this instance, the dispatch task shall be placed on hold which prevents the user from completing it and places it into the users on hold tab.

RootTask

  • If the appeal does not have an open BvaDispatchTask, the blocking task should be created directly on the RootTask.

Other necessary steps

  • Additionally, in the locations (here and here) where we are creating BvaDispatchTask, we need to do a check for the existence of any of the blocking tasks and prevent the creation of the dispatch task if they do exist (e.g. tasks.open.blocks_dispatch.any?).

  • Finally, when the blocking task has been completed we need to proceed with the creation of the BvaDispatchTask. If the logic for not creating a dispatch task is captured in create_from_root_task then we do not need to check for open blocking tasks anywhere else.

@hschallhorn hschallhorn added Feature: generic-queue Priority: Medium Blocking issue w/workaround, or "second in" priority for new work. Product: caseflow-queue Stakeholder: BVA Functionality associated with the Board of Veterans' Appeals workflows/feature requests Team: Echo 🐬 Type: Enhancement Enhancement to an existing feature labels Apr 21, 2020
@araposo-tistatech
Copy link

Replaced by #14661

@hschallhorn
Copy link
Contributor Author

#14661 is just the tech spec. This ticket exists to implement solutions that fall out of the tech spec

@yoomlam
Copy link
Contributor

yoomlam commented Jul 30, 2020

what is this chart?

1 | 
2 | 
3 | |||||
5 | |||||||
8 | 

Multiple PRs probably

AC

  • Certain tasks will have the ability to block dispatch (updating actual tasks to use this logic will come later - don't update tasks to cause blocking)
  • These task should be created under RootTask or BvaDispatchTask
  • BvaDispatch tasks are not created when tasks that block dispatch are still open
  • BvaDispatchTask is created when all tasks that block dispatch are closed

Why 3?

  • Testing!!

Why 5?

  • Convoluted logic around determining the parent for a mail task
  • several moving parts

@hschallhorn hschallhorn added this to the PI5-S1: XXX Sprint milestone Aug 10, 2020
@lomky lomky self-assigned this Aug 14, 2020
va-bot pushed a commit that referenced this issue Aug 24, 2020
…egin (#15022)

Connects #14056 

### Description
Teaches Appeal (& LegacyAppeal) how to know if an appeal is ready for BVA Dispatch in preparation for allowing tasks to block bva dispatch

### Acceptance Criteria
- [ ] Tests pass
- [ ] AMA Appeals can correct state if a BvaDispatchTask should be opened
- [ ] Legacy Appeals should never be in a state to recieve a BvaDispatchTask

### Testing Plan
1. Review the test cases - double check any you are suspicious of? Run any additional tests? Am I missing any scenarios?

### User Facing Changes
None
@lomky lomky removed their assignment Sep 11, 2020
@lomky
Copy link
Contributor

lomky commented Sep 11, 2020

Placing back into Team queue - work is engineered & reveiwed, but awaiting gov partner feedback & implementation of the case of post-decision appeals handling. Slack thread

@hschallhorn hschallhorn removed this from the PI5-S2: Edith S. Sampson milestone Sep 14, 2020
@araposo-tistatech
Copy link

@lomky Per the Board:

"None of the tasks below should block a motion to vacate and they can move simultaneously:

CongressionalInterestMailTask
FoiaRequestMailTask
PrivacyActRequestMailTask
PrivacyComplaintMailTask
FoiaColocatedTask
FoiaTask
PrivacyActTask"

@yoomlam
Copy link
Contributor

yoomlam commented Sep 30, 2020

Additional AC:

  • Notify Reporting Team of changes to the 'cases-ready-for-distribution' logic via a new ticket in the dsva-vacols repo

The Reporting Team (TIB) has a report showing cases that are ready for distribution, which uses the blocking-task logic discussed in Case Distribution Blocking Tasks #75. If we change this logic, we need to notify the Reporting Team so they can update their queries. Slack convo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature: generic-queue Priority: Medium Blocking issue w/workaround, or "second in" priority for new work. Product: caseflow-queue Stakeholder: BVA Functionality associated with the Board of Veterans' Appeals workflows/feature requests Team: Echo 🐬 Type: Enhancement Enhancement to an existing feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants