>>> py3-django-q2: Building community/py3-django-q2 1.8.0-r0 (using abuild 3.15.0-r0) started Sun, 12 Oct 2025 16:50:47 +0000 >>> py3-django-q2: Validating /home/udu/aports/community/py3-django-q2/APKBUILD... >>> py3-django-q2: Analyzing dependencies... >>> py3-django-q2: Installing for build: build-base py3-asgiref py3-blessed py3-dateutil py3-django py3-django-picklefield py3-django-redis py3-future py3-tz py3-redis py3-six py3-sqlparse py3-wcwidth py3-gpep517 py3-wheel py3-poetry-core valkey py3-pytest-django py3-boto3 py3-psutil py3-mongo WARNING: opening /home/udu/packages//community: No such file or directory WARNING: opening /home/udu/packages//main: No such file or directory fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz (1/74) Installing py3-asgiref-pyc (3.8.1-r1) (2/74) Installing py3-asgiref (3.8.1-r1) (3/74) Installing py3-wcwidth (0.2.13-r1) (4/74) Installing py3-wcwidth-pyc (0.2.13-r1) (5/74) Installing py3-six (1.17.0-r0) (6/74) Installing py3-six-pyc (1.17.0-r0) (7/74) Installing py3-blessed (1.20.0-r2) (8/74) Installing py3-blessed-pyc (1.20.0-r2) (9/74) Installing py3-dateutil (2.9.0-r1) (10/74) Installing py3-dateutil-pyc (2.9.0-r1) (11/74) Installing py3-sqlparse (0.5.1-r0) (12/74) Installing py3-sqlparse-pyc (0.5.1-r0) (13/74) Installing tzdata (2025b-r0) (14/74) Installing py3-django (4.2.25-r0) (15/74) Installing py3-django-pyc (4.2.25-r0) (16/74) Installing py3-django-picklefield (3.3.0-r0) (17/74) Installing py3-django-picklefield-pyc (3.3.0-r0) (18/74) Installing py3-django-redis (5.4.0-r2) (19/74) Installing py3-django-redis-pyc (5.4.0-r2) (20/74) Installing py3-future (1.0.0-r1) (21/74) Installing py3-future-pyc (1.0.0-r1) (22/74) Installing py3-tz (2025.2-r0) (23/74) Installing py3-tz-pyc (2025.2-r0) (24/74) Installing hiredis (1.3.0-r0) (25/74) Installing py3-hiredis (3.2.1-r0) (26/74) Installing py3-hiredis-pyc (3.2.1-r0) (27/74) Installing py3-redis (6.1.0-r0) (28/74) Installing py3-redis-pyc (6.1.0-r0) (29/74) Installing py3-installer (0.7.0-r2) (30/74) Installing py3-installer-pyc (0.7.0-r2) (31/74) Installing py3-gpep517 (19-r0) (32/74) Installing py3-gpep517-pyc (19-r0) (33/74) Installing py3-parsing (3.2.3-r0) (34/74) Installing py3-parsing-pyc (3.2.3-r0) (35/74) Installing py3-packaging (25.0-r0) (36/74) Installing py3-packaging-pyc (25.0-r0) (37/74) Installing py3-wheel (0.46.1-r0) (38/74) Installing py3-wheel-pyc (0.46.1-r0) (39/74) Installing py3-fastjsonschema (2.21.1-r0) (40/74) Installing py3-fastjsonschema-pyc (2.21.1-r0) (41/74) Installing py3-lark-parser (1.1.9-r1) (42/74) Installing py3-lark-parser-pyc (1.1.9-r1) (43/74) Installing py3-poetry-core (2.0.1-r0) (44/74) Installing py3-poetry-core-pyc (2.0.1-r0) (45/74) Installing valkey (8.1.1-r2) Executing valkey-8.1.1-r2.pre-install Executing valkey-8.1.1-r2.post-install (46/74) Installing py3-iniconfig (2.1.0-r0) (47/74) Installing py3-iniconfig-pyc (2.1.0-r0) (48/74) Installing py3-pluggy (1.5.0-r0) (49/74) Installing py3-pluggy-pyc (1.5.0-r0) (50/74) Installing py3-py (1.11.0-r4) (51/74) Installing py3-py-pyc (1.11.0-r4) (52/74) Installing py3-pytest (8.3.5-r0) (53/74) Installing py3-pytest-pyc (8.3.5-r0) (54/74) Installing py3-pytest-django (4.11.1-r0) (55/74) Installing py3-pytest-django-pyc (4.11.1-r0) (56/74) Installing py3-certifi (2025.4.26-r0) (57/74) Installing py3-certifi-pyc (2025.4.26-r0) (58/74) Installing py3-jmespath (1.0.1-r4) (59/74) Installing py3-jmespath-pyc (1.0.1-r4) (60/74) Installing py3-urllib3 (1.26.20-r0) (61/74) Installing py3-urllib3-pyc (1.26.20-r0) (62/74) Installing py3-botocore (1.38.23-r0) (63/74) Installing py3-botocore-pyc (1.38.23-r0) (64/74) Installing py3-s3transfer (0.10.1-r0) (65/74) Installing py3-s3transfer-pyc (0.10.1-r0) (66/74) Installing py3-boto3 (1.38.23-r0) (67/74) Installing py3-boto3-pyc (1.38.23-r0) (68/74) Installing py3-psutil (7.0.0-r0) (69/74) Installing py3-psutil-pyc (7.0.0-r0) (70/74) Installing py3-dnspython (2.7.0-r0) (71/74) Installing py3-dnspython-pyc (2.7.0-r0) (72/74) Installing py3-mongo (4.6.0-r1) (73/74) Installing py3-mongo-pyc (4.6.0-r1) (74/74) Installing .makedepends-py3-django-q2 (20251012.165047) Executing busybox-1.37.0-r19.trigger OK: 454 MiB in 163 packages >>> py3-django-q2: Cleaning up srcdir >>> py3-django-q2: Cleaning up pkgdir >>> py3-django-q2: Cleaning up tmpdir >>> py3-django-q2: Fetching py3-django-q2-1.8.0.tar.gz::https://github.com/django-q2/django-q2/archive/refs/tags/v1.8.0.tar.gz >>> py3-django-q2: Fetching py3-django-q2-1.8.0.tar.gz::https://github.com/django-q2/django-q2/archive/refs/tags/v1.8.0.tar.gz >>> py3-django-q2: Checking sha512sums... py3-django-q2-1.8.0.tar.gz: OK fix-HiredisParser-reference.patch: OK >>> py3-django-q2: Unpacking /var/cache/distfiles/py3-django-q2-1.8.0.tar.gz... >>> py3-django-q2: fix-HiredisParser-reference.patch patching file django_q/tests/settings.py 2025-10-12 16:50:49,629 gpep517 INFO Building wheel via backend poetry.core.masonry.api 2025-10-12 16:50:49,662 poetry.core.factory WARNING The "poetry.dev-dependencies" section is deprecated and will be removed in a future version. Use "poetry.group.dev.dependencies" instead. 2025-10-12 16:50:49,712 poetry.core.masonry.builders.wheel INFO Building wheel 2025-10-12 16:50:49,753 poetry.core.masonry.builders.wheel INFO Built django_q2-1.8.0-py3-none-any.whl 2025-10-12 16:50:49,753 gpep517 INFO The backend produced .dist/django_q2-1.8.0-py3-none-any.whl django_q2-1.8.0-py3-none-any.whl 4003269:M 12 Oct 2025 16:50:49.770 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo 4003269:M 12 Oct 2025 16:50:49.770 * Valkey version=8.1.1, bits=64, commit=00000000, modified=1, pid=4003269, just started 4003269:M 12 Oct 2025 16:50:49.770 # Warning: no config file specified, using the default config. In order to specify a config file use valkey-server /path/to/valkey.conf 4003269:M 12 Oct 2025 16:50:49.770 * Increased maximum number of open files to 10032 (it was originally set to 1024). 4003269:M 12 Oct 2025 16:50:49.770 * monotonic clock: POSIX clock_gettime 4003269:M 12 Oct 2025 16:50:49.770 * Running mode=standalone, port=6379. 4003269:M 12 Oct 2025 16:50:49.770 # Warning: Could not create server TCP listening socket *:6379: bind: Address in use 4003269:M 12 Oct 2025 16:50:49.770 # Failed listening on port 6379 (tcp), aborting. ============================= test session starts ============================== platform linux -- Python 3.12.11, pytest-8.3.5, pluggy-1.5.0 -- /home/udu/aports/community/py3-django-q2/src/django-q2-1.8.0/.testenv/bin/python3 cachedir: .pytest_cache django: version: 4.2.25, settings: django_q.tests.settings (from ini) rootdir: /home/udu/aports/community/py3-django-q2/src/django-q2-1.8.0 configfile: pytest.ini plugins: django-4.11.1 collecting ... collected 54 items / 12 deselected / 42 selected django_q/tests/test_admin.py::test_admin_views PASSED [ 2%] django_q/tests/test_brokers.py::test_orm PASSED [ 4%] django_q/tests/test_cached.py::test_cached FAILED [ 7%] django_q/tests/test_cached.py::test_iter FAILED [ 9%] django_q/tests/test_cached.py::test_chain FAILED [ 11%] django_q/tests/test_cached.py::test_asynctask_class FAILED [ 14%] django_q/tests/test_cluster.py::test_sync FAILED [ 16%] django_q/tests/test_cluster.py::test_sync_raise_exception FAILED [ 19%] django_q/tests/test_cluster.py::test_cluster_initial FAILED [ 21%] django_q/tests/test_cluster.py::test_sentinel FAILED [ 23%] django_q/tests/test_cluster.py::test_cluster FAILED [ 26%] django_q/tests/test_cluster.py::test_results FAILED [ 28%] django_q/tests/test_cluster.py::test_enqueue FAILED [ 30%] django_q/tests/test_cluster.py::test_timeout[1-async_task_kwargs0] FAILED [ 33%] django_q/tests/test_cluster.py::test_timeout[10-async_task_kwargs1] FAILED [ 35%] django_q/tests/test_cluster.py::test_timeout[None-async_task_kwargs2] FAILED [ 38%] django_q/tests/test_cluster.py::test_timeout_task_finishes[5-async_task_kwargs0] FAILED [ 40%] django_q/tests/test_cluster.py::test_timeout_task_finishes[10-async_task_kwargs1] FAILED [ 42%] django_q/tests/test_cluster.py::test_timeout_task_finishes[1-async_task_kwargs2] FAILED [ 45%] django_q/tests/test_cluster.py::test_timeout_task_finishes[None-async_task_kwargs3] FAILED [ 47%] django_q/tests/test_cluster.py::test_recycle FAILED [ 50%] django_q/tests/test_cluster.py::test_save_limit_per_func FAILED [ 52%] django_q/tests/test_cluster.py::test_bad_secret FAILED [ 54%] django_q/tests/test_cluster.py::test_attempt_count PASSED [ 57%] django_q/tests/test_cluster.py::test_update_failed PASSED [ 59%] django_q/tests/test_cluster.py::test_acknowledge_failure_override FAILED [ 61%] django_q/tests/test_cluster.py::TestSignals::test_pre_enqueue_signal PASSED [ 64%] django_q/tests/test_cluster.py::TestSignals::test_pre_execute_signal FAILED [ 66%] django_q/tests/test_cluster.py::TestSignals::test_post_execute_signal FAILED [ 69%] django_q/tests/test_cluster.py::test_add_months PASSED [ 71%] django_q/tests/test_cluster.py::test_add_years PASSED [ 73%] django_q/tests/test_commands.py::test_qmonitor PASSED [ 76%] django_q/tests/test_commands.py::test_qinfo PASSED [ 78%] django_q/tests/test_commands.py::test_qmemory PASSED [ 80%] django_q/tests/test_monitor.py::test_monitor FAILED [ 83%] django_q/tests/test_monitor.py::test_info FAILED [ 85%] django_q/tests/test_brokers.py::test_broker PASSED [ 88%] django_q/tests/test_brokers.py::test_redis PASSED [ 90%] django_q/tests/test_brokers.py::test_custom PASSED [ 92%] django_q/tests/test_brokers.py::test_ironmq SKIPPED (requires IronMQ...) [ 95%] django_q/tests/test_brokers.py::test_sqs SKIPPED (requires AWS crede...) [ 97%] django_q/tests/test_cluster.py::test_redis_connection PASSED [100%] =================================== FAILURES =================================== _________________________________ test_cached __________________________________ broker = @pytest.mark.django_db def test_cached(broker): broker.purge_queue() broker.cache.clear() group = "cache_test" # queue the tests task_id = async_task("math.copysign", 1, -1, cached=True, broker=broker) async_task("math.copysign", 1, -1, cached=True, broker=broker, group=group) async_task("math.copysign", 1, -1, cached=True, broker=broker, group=group) async_task("math.copysign", 1, -1, cached=True, broker=broker, group=group) async_task("math.copysign", 1, -1, cached=True, broker=broker, group=group) async_task("math.copysign", 1, -1, cached=True, broker=broker, group=group) async_task("math.popysign", 1, -1, cached=True, broker=broker, group=group) iter_id = async_iter("math.floor", [i for i in range(10)], cached=True) # test wait on cache # test wait timeout assert result(task_id, wait=10, cached=True) is None assert fetch(task_id, wait=10, cached=True) is None assert result_group(group, wait=10, cached=True) is None assert result_group(group, count=2, wait=10, cached=True) is None assert fetch_group(group, wait=10, cached=True) is None assert fetch_group(group, count=2, wait=10, cached=True) is None # run a single inline cluster task_count = 17 assert broker.queue_size() == task_count > task_queue = Queue() django_q/tests/test_cached.py:59: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/queues.py:56: in __init__ super(Queue, self).__init__( /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 1 18:50:53 [Q] DEBUG Pushed ('six-sixteen-floor-east', 'b998b1580a754dfbad05b4551e34f6e4') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 2 18:50:53 [Q] DEBUG Pushed ('california-two-kitten-five', '0a458edf021449bbbc950258b8004db2') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 3 18:50:53 [Q] DEBUG Pushed ('ten-item-rugby-moon', '8a12296b418647e88b865eee074a38e6') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 4 18:50:53 [Q] DEBUG Pushed ('fillet-alaska-speaker-yellow', '7c03c4ff329041e0a4b361a793a8d214') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 5 18:50:53 [Q] DEBUG Pushed ('burger-table-papa-kilo', '9568d938aac949f2a62adff852ab71f9') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 6 18:50:53 [Q] DEBUG Pushed ('network-beer-undress-freddie', '7c6ee46f27c04eba92a428f8c648b273') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 7 18:50:53 [Q] DEBUG Pushed ('ceiling-nebraska-spaghetti-river', '042edcd236b64a5d92410605cf0b95e8') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 8 18:50:53 [Q] DEBUG Pushed ('mars-cat-music-south', 'd854939b6a9d4094b7331d0f52a55f67') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 9 18:50:53 [Q] DEBUG Pushed ('mango-blue-skylark-cardinal', '3903269e38ad44c9add59527838ba880') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 10 18:50:53 [Q] DEBUG Pushed ('nine-leopard-vermont-snake', '3bb2283a07104a2593ff0888d58ecb5b') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 11 18:50:53 [Q] DEBUG Pushed ('golf-speaker-juliet-red', 'afcf714467f44301a94c5ad3bb6fa3cf') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 12 18:50:53 [Q] DEBUG Pushed ('yellow-minnesota-minnesota-single', '573d43d4514846d4ad342d3f20fe9981') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 13 18:50:53 [Q] DEBUG Pushed ('wolfram-ink-friend-uniform', '416a04d6f92d40f1a2bc2668f4e34cbc') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 14 18:50:53 [Q] DEBUG Pushed ('ohio-mike-beer-beryllium', '1bbc53560b9c455883440fdbdc6c2782') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 15 18:50:53 [Q] DEBUG Pushed ('lima-arkansas-harry-comet', '2f70ba9cd9614afbb6f0acb0c502a24e') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 16 18:50:53 [Q] DEBUG Pushed ('lake-whiskey-tennis-lima', 'ef5200c8c551482fa8515772bfe39bbe') 18:50:53 [Q] INFO Enqueued [django_q:django_q_test:q] 17 18:50:53 [Q] DEBUG Pushed ('kansas-seventeen-quiet-mango', '17481c2cdb33416aba471258ece6870f') __________________________________ test_iter ___________________________________ broker = @pytest.mark.django_db def test_iter(broker): broker.purge_queue() broker.cache.clear() it = [i for i in range(10)] it2 = [(1, -1), (2, -1), (3, -4), (5, 6)] it3 = (1, 2, 3, 4, 5) > t = async_iter("math.floor", it, sync=True) django_q/tests/test_cached.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/tasks.py:469: in async_iter async_task(func, *args, **options) django_q/tasks.py:73: in async_task return _sync(pack) django_q/tasks.py:768: in _sync task_queue = Queue() django_q/queues.py:56: in __init__ super(Queue, self).__init__( /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError __________________________________ test_chain __________________________________ broker = @pytest.mark.django_db def test_chain(broker): broker.purge_queue() broker.cache.clear() task_chain = Chain(sync=True) task_chain.append("math.floor", 1) task_chain.append("math.copysign", 1, -1) task_chain.append("math.floor", 2) assert task_chain.length() == 3 assert task_chain.current() is None > task_chain.run() django_q/tests/test_cached.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/tasks.py:600: in run self.group = async_chain( django_q/tasks.py:494: in async_chain async_task(task[0], *args, **kwargs) django_q/tasks.py:73: in async_task return _sync(pack) django_q/tasks.py:768: in _sync task_queue = Queue() django_q/queues.py:56: in __init__ super(Queue, self).__init__( /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError _____________________________ test_asynctask_class _____________________________ broker = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f9262fc4fb0> @pytest.mark.django_db def test_asynctask_class(broker, monkeypatch): broker.purge_queue() broker.cache.clear() a = AsyncTask("math.copysign") assert a.func == "math.copysign" a.args = (1, -1) assert a.started is False a.cached = True assert a.cached a.sync = True assert a.sync a.broker = broker assert a.broker == broker > a.run() django_q/tests/test_cached.py:179: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/tasks.py:730: in run self.id = async_task(self.func, *self.args, **self.kwargs) django_q/tasks.py:73: in async_task return _sync(pack) django_q/tasks.py:768: in _sync task_queue = Queue() django_q/queues.py:56: in __init__ super(Queue, self).__init__( /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError __________________________________ test_sync ___________________________________ broker = @pytest.mark.django_db def test_sync(broker): > task = async_task( "django_q.tests.tasks.count_letters", DEFAULT_WORDLIST, broker=broker, sync=True ) django_q/tests/test_cluster.py:62: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/tasks.py:73: in async_task return _sync(pack) django_q/tasks.py:768: in _sync task_queue = Queue() django_q/queues.py:56: in __init__ super(Queue, self).__init__( /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError __________________________ test_sync_raise_exception ___________________________ broker = @pytest.mark.django_db def test_sync_raise_exception(broker): with pytest.raises(TaskError): > async_task("django_q.tests.tasks.raise_exception", broker=broker, sync=True) django_q/tests/test_cluster.py:71: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/tasks.py:73: in async_task return _sync(pack) django_q/tasks.py:768: in _sync task_queue = Queue() django_q/queues.py:56: in __init__ super(Queue, self).__init__( /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError _____________________________ test_cluster_initial _____________________________ broker = @pytest.mark.django_db def test_cluster_initial(broker): broker.list_key = "initial_test:q" broker.delete_queue() c = Cluster(broker=broker) assert c.sentinel is None assert c.stat.status == Conf.STOPPED > assert c.start() > 0 django_q/tests/test_cluster.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/cluster.py:61: in start self.stop_event = Event() /usr/lib/python3.12/multiprocessing/context.py:93: in Event return Event(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:331: in __init__ self._cond = ctx.Condition(ctx.Lock()) /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ________________________________ test_sentinel _________________________________ @pytest.mark.django_db def test_sentinel(): > start_event = Event() django_q/tests/test_cluster.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/multiprocessing/context.py:93: in Event return Event(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:331: in __init__ self._cond = ctx.Condition(ctx.Lock()) /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError _________________________________ test_cluster _________________________________ broker = @pytest.mark.django_db def test_cluster(broker): broker.list_key = "cluster_test:q" broker.delete_queue() task = async_task( "django_q.tests.tasks.count_letters", DEFAULT_WORDLIST, broker=broker ) assert broker.queue_size() == 1 > task_queue = Queue() django_q/tests/test_cluster.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/queues.py:56: in __init__ super(Queue, self).__init__( /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:54 [Q] INFO Enqueued [cluster_test:q] 1 18:50:54 [Q] DEBUG Pushed ('carbon-blue-bacon-hotel', '7b1be29d0ae342b39f5ea0712e629d8e') _________________________________ test_results _________________________________ broker = @pytest.mark.django_db def test_results(broker): broker.list_key = "cluster_test:q" broker.delete_queue() a = async_task( "django_q.tests.tasks.return_falsy_value", broker=broker, ) > task_queue = Queue() django_q/tests/test_cluster.py:153: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/queues.py:56: in __init__ super(Queue, self).__init__( /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:54 [Q] INFO Enqueued [cluster_test:q] 1 18:50:54 [Q] DEBUG Pushed ('september-echo-august-football', '5c12c04f7e4e414888544293c2e1ef87') _________________________________ test_enqueue _________________________________ broker = admin_user = @pytest.mark.django_db def test_enqueue(broker, admin_user): broker.list_key = "cluster_test:q" broker.delete_queue() a = async_task( "django_q.tests.tasks.count_letters", DEFAULT_WORDLIST, hook="django_q.tests.test_cluster.assert_result", broker=broker, ) b = async_task( "django_q.tests.tasks.count_letters2", WordClass(), hook="django_q.tests.test_cluster.assert_result", broker=broker, ) # unknown argument c = async_task( "django_q.tests.tasks.count_letters", DEFAULT_WORDLIST, "oneargumentoomany", hook="django_q.tests.test_cluster.assert_bad_result", broker=broker, ) # unknown function d = async_task( "django_q.tests.tasks.does_not_exist", WordClass(), hook="django_q.tests.test_cluster.assert_bad_result", broker=broker, ) # function without result e = async_task("django_q.tests.tasks.countdown", 100000, broker=broker) # function as instance f = async_task(multiply, 753, 2, hook=assert_result, broker=broker) # model as argument g = async_task( "django_q.tests.tasks.get_task_name", Task(name="John"), broker=broker ) # args,kwargs, group and broken hook h = async_task( "django_q.tests.tasks.word_multiply", 2, word="django", hook="fail.me", broker=broker, ) # args unpickle test j = async_task( "django_q.tests.tasks.get_user_id", admin_user, broker=broker, group="test_j" ) # q_options and save opt_out test k = async_task( "django_q.tests.tasks.get_user_id", admin_user, q_options={"broker": broker, "group": "test_k", "save": False, "timeout": 90}, ) # test unicode assert Task(name="Amalia").__str__() == "Amalia" # check if everything has a task id assert isinstance(a, str) assert isinstance(b, str) assert isinstance(c, str) assert isinstance(d, str) assert isinstance(e, str) assert isinstance(f, str) assert isinstance(g, str) assert isinstance(h, str) assert isinstance(j, str) assert isinstance(k, str) # run the cluster to execute the tasks task_count = 10 assert broker.queue_size() == task_count > task_queue = Queue() django_q/tests/test_cluster.py:241: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/queues.py:56: in __init__ super(Queue, self).__init__( /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:54 [Q] INFO Enqueued [cluster_test:q] 1 18:50:54 [Q] DEBUG Pushed ('mississippi-alabama-maryland-fifteen', '5287a1f9b8de482f967ef09d67e402c2') 18:50:54 [Q] INFO Enqueued [cluster_test:q] 2 18:50:54 [Q] DEBUG Pushed ('fruit-delta-emma-summer', '45cb03dc39ea44a5b7560dd2bffcde4b') 18:50:54 [Q] INFO Enqueued [cluster_test:q] 3 18:50:54 [Q] DEBUG Pushed ('kansas-rugby-tennis-leopard', 'e1d63e66124743ab9e126e3ec7968ca5') 18:50:54 [Q] INFO Enqueued [cluster_test:q] 4 18:50:54 [Q] DEBUG Pushed ('cat-sodium-jig-avocado', '606e0429427c40b3b4ce41513a77b5f7') 18:50:54 [Q] INFO Enqueued [cluster_test:q] 5 18:50:54 [Q] DEBUG Pushed ('seventeen-arkansas-victor-three', '975fe2e9d19d4a0fbcc331a3ab12c0a6') 18:50:54 [Q] INFO Enqueued [cluster_test:q] 6 18:50:54 [Q] DEBUG Pushed ('seven-pennsylvania-ack-william', '8ec62ba1ad5c4d12bf67a37b94388ed7') 18:50:54 [Q] INFO Enqueued [cluster_test:q] 7 18:50:54 [Q] DEBUG Pushed ('hawaii-paris-utah-comet', '4ea05de8ce3b441d9926db8dbb5566a3') 18:50:54 [Q] INFO Enqueued [cluster_test:q] 8 18:50:54 [Q] DEBUG Pushed ('video-lion-rugby-lactose', 'f715ede1b06548e7863f1511eb5ad015') 18:50:54 [Q] INFO Enqueued [cluster_test:q] 9 18:50:54 [Q] DEBUG Pushed ('berlin-helium-comet-alanine', 'e3b04c0b4b074454a58df4f795439044') 18:50:54 [Q] INFO Enqueued [cluster_test:q] 10 18:50:54 [Q] DEBUG Pushed ('arizona-juliet-winner-august', 'b28c91a72eee4ee2af3eb5d228ce04ef') ______________________ test_timeout[1-async_task_kwargs0] ______________________ broker = cluster_config_timeout = 1, async_task_kwargs = {} @pytest.mark.django_db @pytest.mark.parametrize( "cluster_config_timeout, async_task_kwargs", ( (1, {}), (10, {"timeout": 1}), (None, {"timeout": 1}), ), ) def test_timeout(broker, cluster_config_timeout, async_task_kwargs): # set up the Sentinel broker.list_key = "timeout_test:q" broker.purge_queue() async_task("time.sleep", 5, broker=broker, **async_task_kwargs) > start_event = Event() django_q/tests/test_cluster.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/multiprocessing/context.py:93: in Event return Event(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:331: in __init__ self._cond = ctx.Condition(ctx.Lock()) /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:54 [Q] INFO Enqueued [timeout_test:q] 1 18:50:54 [Q] DEBUG Pushed ('indigo-delta-helium-spring', '859f7f01b1d14e1cab7ce56e933a5229') _____________________ test_timeout[10-async_task_kwargs1] ______________________ broker = cluster_config_timeout = 10, async_task_kwargs = {'timeout': 1} @pytest.mark.django_db @pytest.mark.parametrize( "cluster_config_timeout, async_task_kwargs", ( (1, {}), (10, {"timeout": 1}), (None, {"timeout": 1}), ), ) def test_timeout(broker, cluster_config_timeout, async_task_kwargs): # set up the Sentinel broker.list_key = "timeout_test:q" broker.purge_queue() async_task("time.sleep", 5, broker=broker, **async_task_kwargs) > start_event = Event() django_q/tests/test_cluster.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/multiprocessing/context.py:93: in Event return Event(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:331: in __init__ self._cond = ctx.Condition(ctx.Lock()) /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:54 [Q] INFO Enqueued [timeout_test:q] 1 18:50:54 [Q] DEBUG Pushed ('network-don-sad-fruit', 'a4835ee0881c47e7995796e6c4f04124') ____________________ test_timeout[None-async_task_kwargs2] _____________________ broker = cluster_config_timeout = None, async_task_kwargs = {'timeout': 1} @pytest.mark.django_db @pytest.mark.parametrize( "cluster_config_timeout, async_task_kwargs", ( (1, {}), (10, {"timeout": 1}), (None, {"timeout": 1}), ), ) def test_timeout(broker, cluster_config_timeout, async_task_kwargs): # set up the Sentinel broker.list_key = "timeout_test:q" broker.purge_queue() async_task("time.sleep", 5, broker=broker, **async_task_kwargs) > start_event = Event() django_q/tests/test_cluster.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/multiprocessing/context.py:93: in Event return Event(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:331: in __init__ self._cond = ctx.Condition(ctx.Lock()) /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:54 [Q] INFO Enqueued [timeout_test:q] 1 18:50:54 [Q] DEBUG Pushed ('sad-berlin-emma-bravo', '3f29e54dc9d5454dbc90bfadef9cd3ba') _______________ test_timeout_task_finishes[5-async_task_kwargs0] _______________ broker = cluster_config_timeout = 5, async_task_kwargs = {} @pytest.mark.django_db @pytest.mark.parametrize( "cluster_config_timeout, async_task_kwargs", ( (5, {}), (10, {"timeout": 5}), (1, {"timeout": 5}), (None, {"timeout": 5}), ), ) def test_timeout_task_finishes(broker, cluster_config_timeout, async_task_kwargs): # set up the Sentinel broker.list_key = "timeout_test:q" broker.purge_queue() async_task("time.sleep", 3, broker=broker, **async_task_kwargs) > start_event = Event() django_q/tests/test_cluster.py:383: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/multiprocessing/context.py:93: in Event return Event(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:331: in __init__ self._cond = ctx.Condition(ctx.Lock()) /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:54 [Q] INFO Enqueued [timeout_test:q] 1 18:50:54 [Q] DEBUG Pushed ('five-lamp-snake-december', '6d21aca75b2b4442b349e7d622afff42') ______________ test_timeout_task_finishes[10-async_task_kwargs1] _______________ broker = cluster_config_timeout = 10, async_task_kwargs = {'timeout': 5} @pytest.mark.django_db @pytest.mark.parametrize( "cluster_config_timeout, async_task_kwargs", ( (5, {}), (10, {"timeout": 5}), (1, {"timeout": 5}), (None, {"timeout": 5}), ), ) def test_timeout_task_finishes(broker, cluster_config_timeout, async_task_kwargs): # set up the Sentinel broker.list_key = "timeout_test:q" broker.purge_queue() async_task("time.sleep", 3, broker=broker, **async_task_kwargs) > start_event = Event() django_q/tests/test_cluster.py:383: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/multiprocessing/context.py:93: in Event return Event(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:331: in __init__ self._cond = ctx.Condition(ctx.Lock()) /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:54 [Q] INFO Enqueued [timeout_test:q] 1 18:50:54 [Q] DEBUG Pushed ('triple-network-mockingbird-bulldog', '323b9179673a418592cf488521cc8375') _______________ test_timeout_task_finishes[1-async_task_kwargs2] _______________ broker = cluster_config_timeout = 1, async_task_kwargs = {'timeout': 5} @pytest.mark.django_db @pytest.mark.parametrize( "cluster_config_timeout, async_task_kwargs", ( (5, {}), (10, {"timeout": 5}), (1, {"timeout": 5}), (None, {"timeout": 5}), ), ) def test_timeout_task_finishes(broker, cluster_config_timeout, async_task_kwargs): # set up the Sentinel broker.list_key = "timeout_test:q" broker.purge_queue() async_task("time.sleep", 3, broker=broker, **async_task_kwargs) > start_event = Event() django_q/tests/test_cluster.py:383: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/multiprocessing/context.py:93: in Event return Event(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:331: in __init__ self._cond = ctx.Condition(ctx.Lock()) /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:54 [Q] INFO Enqueued [timeout_test:q] 1 18:50:54 [Q] DEBUG Pushed ('oscar-december-magnesium-jig', '3e7e0ee6c18a4b309253cf8e03c29e35') _____________ test_timeout_task_finishes[None-async_task_kwargs3] ______________ broker = cluster_config_timeout = None, async_task_kwargs = {'timeout': 5} @pytest.mark.django_db @pytest.mark.parametrize( "cluster_config_timeout, async_task_kwargs", ( (5, {}), (10, {"timeout": 5}), (1, {"timeout": 5}), (None, {"timeout": 5}), ), ) def test_timeout_task_finishes(broker, cluster_config_timeout, async_task_kwargs): # set up the Sentinel broker.list_key = "timeout_test:q" broker.purge_queue() async_task("time.sleep", 3, broker=broker, **async_task_kwargs) > start_event = Event() django_q/tests/test_cluster.py:383: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/multiprocessing/context.py:93: in Event return Event(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:331: in __init__ self._cond = ctx.Condition(ctx.Lock()) /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:54 [Q] INFO Enqueued [timeout_test:q] 1 18:50:54 [Q] DEBUG Pushed ('illinois-hot-west-delta', '9f7e991a51654a20be5f7b68260a8a94') _________________________________ test_recycle _________________________________ broker = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f9262f97680> django_assert_num_queries = functools.partial(, <_pytest.config.Config object at 0x7f9265a90a40>) @pytest.mark.django_db def test_recycle(broker, monkeypatch, django_assert_num_queries): # set up the Sentinel broker.list_key = "test_recycle_test:q" async_task("django_q.tests.tasks.multiply", 2, 2, broker=broker) async_task("django_q.tests.tasks.multiply", 2, 2, broker=broker) async_task("django_q.tests.tasks.multiply", 2, 2, broker=broker) > start_event = Event() django_q/tests/test_cluster.py:408: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/multiprocessing/context.py:93: in Event return Event(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:331: in __init__ self._cond = ctx.Condition(ctx.Lock()) /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:54 [Q] INFO Enqueued [test_recycle_test:q] 1 18:50:54 [Q] DEBUG Pushed ('ten-cold-sink-thirteen', 'fe8dfb5288bf4a548c28ee8d134fd250') 18:50:54 [Q] INFO Enqueued [test_recycle_test:q] 2 18:50:54 [Q] DEBUG Pushed ('bakerloo-carpet-magazine-paris', '5a07eca0062345429b157f8e863c2e38') 18:50:54 [Q] INFO Enqueued [test_recycle_test:q] 3 18:50:54 [Q] DEBUG Pushed ('texas-winner-floor-whiskey', 'c615bbb536e14b6ab215db35ebc28e54') ___________________________ test_save_limit_per_func ___________________________ broker = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f9262fc4b60> @pytest.mark.django_db def test_save_limit_per_func(broker, monkeypatch): # set up the Sentinel broker.list_key = "test_recycle_test:q" async_task("django_q.tests.tasks.hello", broker=broker) async_task("django_q.tests.tasks.countdown", 2, broker=broker) async_task("django_q.tests.tasks.multiply", 2, 2, broker=broker) > start_event = Event() django_q/tests/test_cluster.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/multiprocessing/context.py:93: in Event return Event(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:331: in __init__ self._cond = ctx.Condition(ctx.Lock()) /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:54 [Q] INFO Enqueued [test_recycle_test:q] 4 18:50:54 [Q] DEBUG Pushed ('connecticut-india-pizza-comet', '8dca9df615df4ee7906b551e06ab5fd9') 18:50:54 [Q] INFO Enqueued [test_recycle_test:q] 5 18:50:54 [Q] DEBUG Pushed ('nine-potato-kansas-hamper', '05db642165c04750849186fc2ce0b622') 18:50:54 [Q] INFO Enqueued [test_recycle_test:q] 6 18:50:54 [Q] DEBUG Pushed ('delaware-oranges-lima-muppet', 'd00e6a854b6748c2af264fbfe5f18504') _______________________________ test_bad_secret ________________________________ broker = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f9262fc5eb0> @pytest.mark.django_db def test_bad_secret(broker, monkeypatch): broker.list_key = "test_bad_secret:q" async_task("math.copysign", 1, -1, broker=broker) > stop_event = Event() django_q/tests/test_cluster.py:521: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/multiprocessing/context.py:93: in Event return Event(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:331: in __init__ self._cond = ctx.Condition(ctx.Lock()) /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:54 [Q] INFO Enqueued [test_bad_secret:q] 1 18:50:54 [Q] DEBUG Pushed ('mexico-kentucky-comet-butter', '0aca6c246b2f4b7f8563915c699f46ad') ______________________ test_acknowledge_failure_override _______________________ @pytest.mark.django_db def test_acknowledge_failure_override(): class VerifyAckMockBroker(Broker): def __init__(self, *args, **kwargs): super(VerifyAckMockBroker, self).__init__(*args, **kwargs) self.acknowledgements = {} def acknowledge(self, task_id): count = self.acknowledgements.get(task_id, 0) self.acknowledgements[task_id] = count + 1 tag = uuid() task_fail_ack = { "id": tag[1], "name": tag[0], "ack_id": "test_fail_ack_id", "ack_failure": True, "func": "math.copysign", "args": (1, -1), "kwargs": {}, "started": timezone.now(), "stopped": timezone.now(), "success": False, "result": None, } tag = uuid() task_fail_no_ack = task_fail_ack.copy() task_fail_no_ack.update( {"id": tag[1], "name": tag[0], "ack_id": "test_fail_no_ack_id"} ) del task_fail_no_ack["ack_failure"] tag = uuid() task_success_ack = task_fail_ack.copy() task_success_ack.update( { "id": tag[1], "name": tag[0], "ack_id": "test_success_ack_id", "success": True, } ) del task_success_ack["ack_failure"] > result_queue = Queue() django_q/tests/test_cluster.py:671: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/queues.py:56: in __init__ super(Queue, self).__init__( /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError _____________________ TestSignals.test_pre_execute_signal ______________________ self = broker = @pytest.mark.django_db def test_pre_execute_signal(self, broker): broker.list_key = "pre_execute_test:q" broker.delete_queue() self.signal_was_called: bool = False self.task: Optional[dict] = None self.func = None def handler(sender, task, func, **kwargs): self.signal_was_called = True self.task = task self.func = func pre_execute.connect(handler) task_id = async_task("math.copysign", 1, -1, broker=broker) > task_queue = Queue() django_q/tests/test_cluster.py:719: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/queues.py:56: in __init__ super(Queue, self).__init__( /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:55 [Q] INFO Enqueued [pre_execute_test:q] 1 18:50:55 [Q] DEBUG Pushed ('april-georgia-diet-equal', '40db801c5b524f159ca00a0547b28237') _____________________ TestSignals.test_post_execute_signal _____________________ self = broker = @pytest.mark.django_db def test_post_execute_signal(self, broker): broker.list_key = "post_execute_test:q" broker.delete_queue() self.signal_was_called: bool = False self.task: Optional[dict] = None self.func = None def handler(sender, task, **kwargs): self.signal_was_called = True self.task = task post_execute.connect(handler) task_id = async_task("math.copysign", 1, -1, broker=broker) > task_queue = Queue() django_q/tests/test_cluster.py:748: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/queues.py:56: in __init__ super(Queue, self).__init__( /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stderr call ----------------------------- 18:50:55 [Q] INFO Enqueued [post_execute_test:q] 1 18:50:55 [Q] DEBUG Pushed ('ohio-bravo-lactose-oranges', '76154c8d38f64692942b9b5021db520e') _________________________________ test_monitor _________________________________ monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f92627086e0> @pytest.mark.django_db def test_monitor(monkeypatch): cluster_id = uuid.uuid4() assert Stat.get(pid=0, cluster_id=cluster_id).sentinel == 0 c = Cluster() > c.start() django_q/tests/test_monitor.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/cluster.py:61: in start self.stop_event = Event() /usr/lib/python3.12/multiprocessing/context.py:93: in Event return Event(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:331: in __init__ self._cond = ctx.Condition(ctx.Lock()) /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError __________________________________ test_info ___________________________________ @pytest.mark.django_db def test_info(): info() > do_sync() django_q/tests/test_monitor.py:44: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ django_q/tests/test_monitor.py:52: in do_sync async_task("django_q.tests.tasks.countdown", 1, sync=True, save=True) django_q/tasks.py:73: in async_task return _sync(pack) django_q/tasks.py:768: in _sync task_queue = Queue() django_q/queues.py:56: in __init__ super(Queue, self).__init__( /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ----------------------------- Captured stdout call ----------------------------- -- Django_q_test 1.8.0 on Redis 8.0.4 -- Clusters0Workers0Restarts0 Queued0Successes0Failures0 Schedules0Tasks/day0.00Avg time0.0000 =============================== warnings summary =============================== ../../../../../../../usr/lib/python3.12/site-packages/django/conf/__init__.py:267 /usr/lib/python3.12/site-packages/django/conf/__init__.py:267: RemovedInDjango50Warning: The USE_L10N setting is deprecated. Starting with Django 5.0, localized formatting of data will always be enabled. For example Django will display numbers and dates using the format of the current locale. warnings.warn(USE_L10N_DEPRECATED_MSG, RemovedInDjango50Warning) django_q/conf.py:179 /home/udu/aports/community/py3-django-q2/src/django-q2-1.8.0/django_q/conf.py:179: UserWarning: Retry and timeout are misconfigured. Set retry larger than timeout,failure to do so will cause the tasks to be retriggered before completion.See https://django-q2.readthedocs.io/en/master/configure.html#retry for details. warn( -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED django_q/tests/test_cached.py::test_cached - PermissionError: [Errno 1... FAILED django_q/tests/test_cached.py::test_iter - PermissionError: [Errno 13]... FAILED django_q/tests/test_cached.py::test_chain - PermissionError: [Errno 13... FAILED django_q/tests/test_cached.py::test_asynctask_class - PermissionError:... FAILED django_q/tests/test_cluster.py::test_sync - PermissionError: [Errno 13... FAILED django_q/tests/test_cluster.py::test_sync_raise_exception - Permission... FAILED django_q/tests/test_cluster.py::test_cluster_initial - PermissionError... FAILED django_q/tests/test_cluster.py::test_sentinel - PermissionError: [Errn... FAILED django_q/tests/test_cluster.py::test_cluster - PermissionError: [Errno... FAILED django_q/tests/test_cluster.py::test_results - PermissionError: [Errno... FAILED django_q/tests/test_cluster.py::test_enqueue - PermissionError: [Errno... FAILED django_q/tests/test_cluster.py::test_timeout[1-async_task_kwargs0] - P... FAILED django_q/tests/test_cluster.py::test_timeout[10-async_task_kwargs1] - ... FAILED django_q/tests/test_cluster.py::test_timeout[None-async_task_kwargs2] FAILED django_q/tests/test_cluster.py::test_timeout_task_finishes[5-async_task_kwargs0] FAILED django_q/tests/test_cluster.py::test_timeout_task_finishes[10-async_task_kwargs1] FAILED django_q/tests/test_cluster.py::test_timeout_task_finishes[1-async_task_kwargs2] FAILED django_q/tests/test_cluster.py::test_timeout_task_finishes[None-async_task_kwargs3] FAILED django_q/tests/test_cluster.py::test_recycle - PermissionError: [Errno... FAILED django_q/tests/test_cluster.py::test_save_limit_per_func - PermissionE... FAILED django_q/tests/test_cluster.py::test_bad_secret - PermissionError: [Er... FAILED django_q/tests/test_cluster.py::test_acknowledge_failure_override - Pe... FAILED django_q/tests/test_cluster.py::TestSignals::test_pre_execute_signal FAILED django_q/tests/test_cluster.py::TestSignals::test_post_execute_signal FAILED django_q/tests/test_monitor.py::test_monitor - PermissionError: [Errno... FAILED django_q/tests/test_monitor.py::test_info - PermissionError: [Errno 13... ===== 26 failed, 14 passed, 2 skipped, 12 deselected, 2 warnings in 5.60s ====== >>> ERROR: py3-django-q2: check failed >>> py3-django-q2: Uninstalling dependencies... (1/74) Purging .makedepends-py3-django-q2 (20251012.165047) (2/74) Purging py3-blessed-pyc (1.20.0-r2) (3/74) Purging py3-blessed (1.20.0-r2) (4/74) Purging py3-django-picklefield-pyc (3.3.0-r0) (5/74) Purging py3-django-picklefield (3.3.0-r0) (6/74) Purging py3-django-redis-pyc (5.4.0-r2) (7/74) Purging py3-django-redis (5.4.0-r2) (8/74) Purging py3-django-pyc (4.2.25-r0) (9/74) Purging py3-django (4.2.25-r0) (10/74) Purging py3-asgiref-pyc (3.8.1-r1) (11/74) Purging py3-asgiref (3.8.1-r1) (12/74) Purging tzdata (2025b-r0) (13/74) Purging py3-future-pyc (1.0.0-r1) (14/74) Purging py3-future (1.0.0-r1) (15/74) Purging py3-tz-pyc (2025.2-r0) (16/74) Purging py3-tz (2025.2-r0) (17/74) Purging py3-redis-pyc (6.1.0-r0) (18/74) Purging py3-redis (6.1.0-r0) (19/74) Purging py3-hiredis-pyc (3.2.1-r0) (20/74) Purging py3-hiredis (3.2.1-r0) (21/74) Purging py3-sqlparse-pyc (0.5.1-r0) (22/74) Purging py3-sqlparse (0.5.1-r0) (23/74) Purging py3-wcwidth-pyc (0.2.13-r1) (24/74) Purging py3-wcwidth (0.2.13-r1) (25/74) Purging py3-gpep517-pyc (19-r0) (26/74) Purging py3-gpep517 (19-r0) (27/74) Purging py3-installer-pyc (0.7.0-r2) (28/74) Purging py3-installer (0.7.0-r2) (29/74) Purging py3-wheel-pyc (0.46.1-r0) (30/74) Purging py3-wheel (0.46.1-r0) (31/74) Purging py3-poetry-core-pyc (2.0.1-r0) (32/74) Purging py3-poetry-core (2.0.1-r0) (33/74) Purging py3-fastjsonschema-pyc (2.21.1-r0) (34/74) Purging py3-fastjsonschema (2.21.1-r0) (35/74) Purging py3-lark-parser-pyc (1.1.9-r1) (36/74) Purging py3-lark-parser (1.1.9-r1) (37/74) Purging valkey (8.1.1-r2) (38/74) Purging py3-pytest-django-pyc (4.11.1-r0) (39/74) Purging py3-pytest-django (4.11.1-r0) (40/74) Purging py3-pytest-pyc (8.3.5-r0) (41/74) Purging py3-pytest (8.3.5-r0) (42/74) Purging py3-iniconfig-pyc (2.1.0-r0) (43/74) Purging py3-iniconfig (2.1.0-r0) (44/74) Purging py3-packaging-pyc (25.0-r0) (45/74) Purging py3-packaging (25.0-r0) (46/74) Purging py3-parsing-pyc (3.2.3-r0) (47/74) Purging py3-parsing (3.2.3-r0) (48/74) Purging py3-pluggy-pyc (1.5.0-r0) (49/74) Purging py3-pluggy (1.5.0-r0) (50/74) Purging py3-py-pyc (1.11.0-r4) (51/74) Purging py3-py (1.11.0-r4) (52/74) Purging py3-boto3-pyc (1.38.23-r0) (53/74) Purging py3-boto3 (1.38.23-r0) (54/74) Purging py3-s3transfer-pyc (0.10.1-r0) (55/74) Purging py3-s3transfer (0.10.1-r0) (56/74) Purging py3-botocore-pyc (1.38.23-r0) (57/74) Purging py3-botocore (1.38.23-r0) (58/74) Purging py3-certifi-pyc (2025.4.26-r0) (59/74) Purging py3-certifi (2025.4.26-r0) (60/74) Purging py3-dateutil-pyc (2.9.0-r1) (61/74) Purging py3-dateutil (2.9.0-r1) (62/74) Purging py3-six-pyc (1.17.0-r0) (63/74) Purging py3-six (1.17.0-r0) (64/74) Purging py3-jmespath-pyc (1.0.1-r4) (65/74) Purging py3-jmespath (1.0.1-r4) (66/74) Purging py3-urllib3-pyc (1.26.20-r0) (67/74) Purging py3-urllib3 (1.26.20-r0) (68/74) Purging py3-psutil-pyc (7.0.0-r0) (69/74) Purging py3-psutil (7.0.0-r0) (70/74) Purging py3-mongo-pyc (4.6.0-r1) (71/74) Purging py3-mongo (4.6.0-r1) (72/74) Purging py3-dnspython-pyc (2.7.0-r0) (73/74) Purging py3-dnspython (2.7.0-r0) (74/74) Purging hiredis (1.3.0-r0) Executing busybox-1.37.0-r19.trigger OK: 296 MiB in 89 packages