globus / globus/globus-compute
Side-effect-free way of checking on task status
- Dominant language
- Python
- Stars
- 162
- Forks
- 53
- Avg merge
- 15h 29m
- Merged PRs (30d)
- 26
Description
Per a conversation on slack, there is no current side-effect-free way of checking on task status. This makes it difficult as an end user to write correct, reliable code, especially when `get_result()` can potentially propagate a task-internal exception (or raise a funcx/globus/network-related exception). And when exceptions occur while getting tasks, the task IDs can also be lost depending on how people have written their code.
So my request would be:
1. Side-effect-free way of querying task status
2. better documentation that the existing operations are NOT side-effect free (note for people used to building distributed systems, this can be quite surprising!)
Contributor guide
Research direction
Start by tracing the existing get_result() behavior and how task status and task IDs are retrieved. Define what a side-effect-free status query must return when task-internal, funcx, Globus, or network exceptions occur. Done means the new query exists and the documentation clearly warns that existing operations are not side-effect free.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend-api-design, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100