globus / globus/globus-compute

Side-effect-free way of checking on task status

Open
#663 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.