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
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()
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...