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

Implement task restart policies #280

Open
wants to merge 44 commits into
base: main
Choose a base branch
from

Commits on Jul 16, 2024

  1. Added placeholder tests for proposed methods

    * Test: test_add_task_restart_policy_patterns
    * Test: test_get_task_restart_policy_patterns
    * Test: test_remove_task_restart_policy_patterns
    * Test: test_clear_task_restart_policy_patterns
    * Test: test_task_resolve_restarts
    ianmkenney committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    7f752b3 View commit details
    Browse the repository at this point in the history
  2. Added models for new node types

    * TaskRestartPattern
    * TaskRestartPolicy
    * TaskHistory
    ianmkenney committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    dd8f0e9 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. Updated new GufeTokenizable models in statestore

    * Removed TaskRestartPolicy and TaskHistory
    * Added Traceback
    ianmkenney committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    da17e45 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b7f63d4 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2024

  1. Added validation and unit tests for storage models

    * TaskReturnPattern: Confirm that the input pattern is a string type and that it is not empty.
    * Traceback: Confirm that the input is a list of strings and that none of them are empty.
    ianmkenney committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    6a167f1 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. Added taskhub_sk to TaskRestartPattern

    Similar to `TaskHub`s, the `TaskRestartPattern` needs additonal hashed
    data to uniquely identify it as a Neo4j node (via the gufe key). The
    unit tests have been updated to reflect this change.
    ianmkenney committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    a10e235 View commit details
    Browse the repository at this point in the history
  2. Added statestore methods for restart patterns

    `statestore` methods have been added to modify the database state:
    
    * add_task_restart_patterns
    * remove_task_restart_patterns
    * get_task_restart_patterns
    
    Tests were added for each method in the integration tests for the
    statestore.
    ianmkenney committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    b99d8ef View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2024

  1. Added APPLIES relationship when adding pattern

    The `add_task_restart_patterns` method now establishes the APPLIES
    relationship between the each new pattern and all Tasks ACTIONED
    on the corresponding TaskHub.
    
    Added testing for creation of the APPLIES relationship, asserting
    the number of created connections over multiple TaskHubs and Tasks.
    
    Further subdivided the test classes.
    
    Additionally added a `set_task_restart_patterns_max_retries` method
    for updating the max_retries of a TaskRestartPattern.
    ianmkenney committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    39f9868 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2024

  1. Establish APPLIES when actioning a Task

    "actioning" a Task on a TaskHub with preexisting TaskRestartPatterns
    created the APPLIES relationship between them with a num_retries value
    of 0. This behavior is tested in the test_action_task function in
    the statestore.
    ianmkenney committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    988155f View commit details
    Browse the repository at this point in the history
  2. Canceling a Task removes the APPLIES relationship

    When an actioned Task is canceled and also has an APPLIES relationship
    with a TaskRestartPattern, APPLIES is removed between the two
    nodes.
    
    Removed org, project, and campaign fields since they are not
    necessary for the APPLIES relationship.
    ianmkenney committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    d3f25f8 View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2024

  1. Task status changes affect APPLIES relationship

    Setting an actioned Task status to the following statuses now removes
    the APPLIES relationship from attached TaskRestartPatterns:
    
    * complete
    * invalid
    * deleted
    
    NOTE: tests have not been added for this yet
    ianmkenney committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    510ae66 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2024

  1. Tests for Task status change on APPLIES

    Confirming that changing the status of an actioned Task to any of
    the following removes the APPLIES relationship:
    
    * complete
    * invalid
    * deleted
    ianmkenney committed Aug 4, 2024
    Configuration menu
    Copy the full SHA
    2310fd5 View commit details
    Browse the repository at this point in the history
  2. Added method (unimplemented) calls for restarts

    New statestore method placeholders:
      - add_task_traceback
      - resolve_task_restarts
    
    The compute api will add a Task Traceback and resolve restarts for
    returned failed Tasks.
    
    When a list of restart patterns are added, restarts are resolved.
    ianmkenney committed Aug 4, 2024
    Configuration menu
    Copy the full SHA
    ea2851f View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2024

  1. Implemented add_protocol_dag_result_ref_traceback

    * Renamed add_task_traceback to add_protocol_dag_result_ref_traceback
    * Added tests for add_protocol_dag_result_ref_traceback
    ianmkenney committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    8e011be View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2024

  1. Configuration menu
    Copy the full SHA
    4f07dde View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2024

  1. Configuration menu
    Copy the full SHA
    78c4551 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2024

  1. Built out custom fixture for testing restart policies

    Implemented half of the resolve_task_restarts test
    ianmkenney committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    7acc003 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2024

  1. Added the chainable decorator to Neo4jStore

    With this decorator, if a transaction isn't passed as a keyword arg, one
    is automatically created (and closed). This allows a chaining behavior
    where many method calls share a single transaction object.
    ianmkenney committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    03d9fa1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aad97e3 View commit details
    Browse the repository at this point in the history
  3. Corrected resolution logic

    ianmkenney committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    a655dc7 View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2024

  1. Configuration menu
    Copy the full SHA
    5bb6700 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fe4b87b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8a6f980 View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2024

  1. Small changes from review

    dotsdl committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    93eb5f5 View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2024

  1. Configuration menu
    Copy the full SHA
    0900f39 View commit details
    Browse the repository at this point in the history
  2. Updated Traceback class

    * Removed custom tokenization
    * Implemented _defaults to allow default tokenization to work
    ianmkenney committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    c8ddafc View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2a59499 View commit details
    Browse the repository at this point in the history
  4. Updated cancel and increment logic

    cancel_map has been changed from a defaultdict to a base dict and
    instead using the dict.get method to return None. Additionally added a
    set of all task/taskhub pairs that is later used to determine what
    should be canceled.
    
    I've also added grouping on taskhubs so the number of calls to
    cancel_tasks is minimized.
    ianmkenney committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    148d048 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    645b2e4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3a8eeca View commit details
    Browse the repository at this point in the history
  7. Clarified comment and added complimentary assertion

    Also expanded test to check behavior of the task that was meant to be
    waiting.
    ianmkenney committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    ea6e66f View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2024

  1. Small changes to Tracebacks

    We don't want to change `_defaults()` from what's done in the base class
    unless we have real default values to leave out of the hash.
    dotsdl committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    7a4b114 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. Merge pull request #286 from OpenFreeEnergy/feature/iss-277-restart-p…

    …olicy_resolve_restarts
    
    Restart policy: resolve restarts
    ianmkenney authored Sep 19, 2024
    Configuration menu
    Copy the full SHA
    cf0e961 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2024

  1. Fix for Tracebacks unit tests

    The addition of source_keys and failure_keys was not included in the
    unit tests so all initializations of Tracebacks failed. I've added
    default values for the test class.
    ianmkenney committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    6066796 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2024

  1. Added API endpoints for managing restart policies

    * add_task_restart_patterns
    * remove_task_restart_patterns
    * get_task_restart_patterns
    * set_task_restart_patterns_max_retries
    
    Additionally, I added the get_taskhubs method to Neo4jStore since
    get_taskhub will only get the taskhub for a single network at a
    time. It might make sense to replace the old method with this new one.
    ianmkenney committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    fcf77a0 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2024

  1. Configuration menu
    Copy the full SHA
    cea16bc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a4da776 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2024

  1. Configuration menu
    Copy the full SHA
    fdc25a7 View commit details
    Browse the repository at this point in the history
  2. Updated docstrings

    ianmkenney committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    51194ff View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2024

  1. Configuration menu
    Copy the full SHA
    f03417c View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2024

  1. Configuration menu
    Copy the full SHA
    977c896 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2d2d8f6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d7dcd5c View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2024

  1. Configuration menu
    Copy the full SHA
    006e689 View commit details
    Browse the repository at this point in the history