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
rqscheduler.py
#!/usr/bin/env python

# This script adds access to the Django env and settings in the default rqscheduler
# implementation. This is required for correct work with CVAT queue settings and
# their access options such as login and password.

# Required to initialize Django settings correctly
from cvat.asgi import application  # pylint: disable=unused-import

from rq_scheduler.scripts import rqscheduler

if __name__ == '__main__':
    rqscheduler.main()
back to top