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

Feat (Core): PostgresJobQueue Implementation and Job Processing Enhancements #30175

Commits on Sep 12, 2024

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

Commits on Sep 13, 2024

  1. #29479 Add job lifecycle events to JobQueueManagerAPI

    Introduced multiple job lifecycle event classes including `JobCreatedEvent`, `JobStartedEvent`, `JobProgressUpdatedEvent`, `JobCompletedEvent`, `JobFailedEvent`, and `JobCancelledEvent`. Updated `JobQueueManagerAPIImpl` to fire these events at appropriate stages in the job lifecycle to enhance observability and event-driven processing. Updated tests to accommodate the changes in event handling.
    jgambarios committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    731b71c View commit details
    Browse the repository at this point in the history
  2. #29479 Refactor job events to use Job objects directly

    Replaced jobId strings with Job objects in event classes to simplify data access and reduce redundancy. Introduced RealTimeJobMonitor for handling real-time job updates, improving event notification efficiency and code maintainability. Updated tests and related classes to accommodate these changes.
    jgambarios committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    acbceef View commit details
    Browse the repository at this point in the history
  3. #29479 Remove JobResult enum and refactor job handling logic

    Remove the `JobResult` enum and update job processing methods to use an `AbstractJobResult` interface. This refactor centralizes job result handling, differentiates success, failure, and cancellation cases, and incorporates metadata and error details within the job result.
    jgambarios committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    a15d7c8 View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2024

  1. Merge remote-tracking branch 'origin/master' into issue-29479-Create-…

    …a-default-JobQueue-Implementation-using-Postgres
    jgambarios committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    c8a91cd View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2024

  1. #29479 Implement PostgresJobQueue and related error handling classes

    This commit adds a PostgreSQL-specific implementation of the JobQueue interface, providing detailed methods for job management using a PostgreSQL database. It also introduces new error handling classes like JobQueueException, JobQueueDataException, and renames ProcessorNotFoundException to JobProcessorNotFoundException for clarity.
    jgambarios committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    7cd30ce View commit details
    Browse the repository at this point in the history
  2. #29479 Refactor job queries to return paginated results.

    Updated job queries to use common table expressions (CTEs) for pagination, ensuring all job retrieval methods now return a JobPaginatedResult object containing job data and pagination details. This improves the consistency and handling of job data across the application. Added new tests to verify the correctness of these changes.
    jgambarios committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    746b387 View commit details
    Browse the repository at this point in the history
  3. #29479 Refactor job mapping logic to separate utility class

    Moved job result set mapping logic from `PostgresJobQueue` to new `DBJobTransformer` utility class. This change improves code modularity, readability, and maintainability by isolating the transformation logic in a dedicated class.
    jgambarios committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    c7d6bcc View commit details
    Browse the repository at this point in the history
  4. Merge remote-tracking branch 'origin/master' into issue-29479-Create-…

    …a-default-JobQueue-Implementation-using-Postgres
    jgambarios committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    7def000 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. Merge remote-tracking branch 'origin/master' into issue-29479-Create-…

    …a-default-JobQueue-Implementation-using-Postgres
    jgambarios committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    2807e1c View commit details
    Browse the repository at this point in the history
  2. #29479 Fixing unit test

    jgambarios committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    2955ab1 View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branch 'origin/master' into issue-29479-Create-…

    …a-default-JobQueue-Implementation-using-Postgres
    jgambarios committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    e7b3e1d View commit details
    Browse the repository at this point in the history
  4. Merge remote-tracking branch 'origin/master' into issue-29479-Create-…

    …a-default-JobQueue-Implementation-using-Postgres
    jgambarios committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    4d0a0ea View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2024

  1. Configuration menu
    Copy the full SHA
    c66f1d0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2a64551 View commit details
    Browse the repository at this point in the history
  3. #29479 Add JobQueue getter to JobQueueManagerAPI

    Implemented a public getter method for JobQueue in JobQueueManagerAPI. Updated corresponding tests to include assertions for the new method. This enhances testability and ensures the JobQueue dependency is correctly injected.
    jgambarios committed Sep 20, 2024
    Configuration menu
    Copy the full SHA
    fd872ba View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2024

  1. #29479 Refactor job cancellation handling

    Decoupled job cancellation logic by introducing a `Cancellable` interface. This improves clarity and separation of concerns, ensuring only processors capable of cancellation implement the relevant method. Updated existing tests to support the new interface and ensured compatibility with the JobQueueManagerAPI.
    jgambarios committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    a05c6ed View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2024

  1. Merge remote-tracking branch 'origin/master' into issue-29479-Create-…

    …a-default-JobQueue-Implementation-using-Postgres
    jgambarios committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    9b5c929 View commit details
    Browse the repository at this point in the history
  2. #29479 Refactor job cancellation handling

    Decoupled job cancellation logic by introducing a `Cancellable` interface. This improves clarity and separation of concerns, ensuring only processors capable of cancellation implement the relevant method. Updated existing tests to support the new interface and ensured compatibility with the JobQueueManagerAPI.
    jgambarios committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    9053cae View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branch 'origin/master' into issue-29479-Create-…

    …a-default-JobQueue-Implementation-using-Postgres
    jgambarios committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    a0c4da0 View commit details
    Browse the repository at this point in the history
  4. Add job cancellation handling and progress updates

    This commit introduces a new `JobCancellingEvent` and related logic to handle job cancellations. It also refines the job state management and progress tracking to ensure accurate updates and status changes.
    jgambarios committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    f6e181c View commit details
    Browse the repository at this point in the history
  5. #29479 Refactor job state management and retry logic

    Introduce markAsRunning() method to standardize setting job states to RUNNING. Replace usage of lastRetryTimestamp with completedAt for retry timing. Update tests to reflect changes and improve code readability. Ensure jobs are correctly re-queued with updated states.
    jgambarios committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    2b96c50 View commit details
    Browse the repository at this point in the history
  6. #29479 Cleaning imports

    jgambarios committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    cb883de View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2024

  1. #29479 Improvements

    jgambarios committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    c7ad2ec View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    af33445 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    079adbf View commit details
    Browse the repository at this point in the history
  4. Merge remote-tracking branch 'origin/master' into issue-29479-Create-…

    …a-default-JobQueue-Implementation-using-Postgres
    jgambarios committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    cb368bb View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ada07ff View commit details
    Browse the repository at this point in the history
  6. #29479 Fixed typo

    jgambarios committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    ec99927 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0952bd7 View commit details
    Browse the repository at this point in the history
  8. Merge remote-tracking branch 'origin/master' into issue-29479-Create-…

    …a-default-JobQueue-Implementation-using-Postgres
    jgambarios committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    55ed75d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    1afa6a1 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0f1fb34 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2024

  1. Configuration menu
    Copy the full SHA
    cccf9b3 View commit details
    Browse the repository at this point in the history
  2. Merge remote-tracking branch 'origin/master' into issue-29479-Create-…

    …a-default-JobQueue-Implementation-using-Postgres
    jgambarios committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    e5bb54a View commit details
    Browse the repository at this point in the history