Revision 6e32868127bf0c51e49efabf8b68ad544cae9a3c authored by Maria Khrustaleva on 01 December 2023, 12:05:17 UTC, committed by GitHub on 01 December 2023, 12:05:17 UTC
This PR resolves 2 issues related to rq jobs:

1. In some scenarios it is possible to reach a situation when `X2` rq
   job depends on `X1` -> running `X1` job is moved to FailedJobRegistry
   and not deleted -> user creates one more `X1` job that is enqueued after
   `X2` execution. It was possible due to the second issue when a user
   tried to export annotations for task 1, then for task 2, and after
   restarting the worker container user tried again to export annotations
   for task 1. (cyclic dependence)

2. Looks like in rq implementation rq jobs that depend on `X` job will
   never be enqueued when `X` is moved to FailedJobRegistry due to
   AbandonedJobError. I've submitted the
   [issue](https://github.com/rq/rq/issues/2006) to the rq repository.
1 parent 81e88e1
Raw File
docker-compose.external_db.yml
# Copyright (C) 2023 CVAT.ai Corporation
#
# SPDX-License-Identifier: MIT

# This optional Docker Compose file may be used to deploy CVAT with an external database.

x-backend-settings: &backend-settings
  environment:
    CVAT_POSTGRES_HOST:
    CVAT_POSTGRES_PORT:
    CVAT_POSTGRES_DBNAME:
    CVAT_POSTGRES_USER:
    CVAT_POSTGRES_PASSWORD_FILE: /run/secrets/postgres_password
  secrets:
    - postgres_password

services:
  cvat_db:
    deploy:
      replicas: 0

  cvat_server: *backend-settings
  cvat_utils: *backend-settings
  cvat_worker_analytics_reports: *backend-settings
  cvat_worker_annotation: *backend-settings
  cvat_worker_export: *backend-settings
  cvat_worker_import: *backend-settings
  cvat_worker_quality_reports: *backend-settings
  cvat_worker_webhooks: *backend-settings

secrets:
  postgres_password:
    environment: CVAT_POSTGRES_PASSWORD
back to top