SynchronousOnlyOperation¶
Saturday, December 2, 2023
Hannes upgraded Jane yesterday, Jane still doesn’t send mails (#5278) The status of send_pending_emails_often is still Not started (because I had clicked on “Run now”) for this tasks. The other tasks are “Scheduled to run at 2023-12-02T03:31:14 (3 hours ago)” or “Running since 2023-10-21T19:53:32 (1 month, 1 week ago)”.
Hmm… did I forget to set linod.use_channels
to True? No.
Tilt! Here is probably the explanation:
$ sudo cat /var/log/supervisor/jane_linod-stdout---supervisor-kis1sukm.log
Started manage.py linod --force (using lino_local.jane.settings) --> PID 218446
Running worker for channels ['linod_jane']
Start the log server...
Start the background tasks runner using <Logger lino (INFO)>...
Task exception was never retrieved
future: <Task finished name='Task-32' coro=<LinodConsumer._run_background_tasks() done, defined at /usr/local/lino
/lino_local/jane/env/lib/python3.9/site-packages/lino/modlib/linod/consumers.py:88> exception=SynchronousOnlyOpera
tion('You cannot call this from an async context - use a thread or sync_to_async.')>
Traceback (most recent call last):
File ".../python3.9/site-packages/lino/modlib/linod/consumers.py", line 96, in _run_background_tasks
next_dt = await BackgroundTask.run_them_all(ar)
File ".../python3.9/site-packages/lino/modlib/linod/models.py", line 91, in run_them_all
self.full_clean()
File ".../python3.9/site-packages/lino/mixins/sequenced.py", line 286, in full_clean
super(Sequenced, self).full_clean(*args, **kw)
File ".../python3.9/site-packages/lino/modlib/system/mixins.py", line 260, in full_clean
super().full_clean(*args, **kw)
File ".../python3.9/site-packages/django/db/models/base.py", line 1465, in full_clean
self.validate_unique(exclude=exclude)
File ".../python3.9/site-packages/django/db/models/base.py", line 1207, in validate_unique
errors = self._perform_unique_checks(unique_checks)
File ".../python3.9/site-packages/django/db/models/base.py", line 1317, in _perform_unique_checks
if qs.exists():
File ".../python3.9/site-packages/django/db/models/query.py", line 1226, in exists
return self.query.has_results(using=self.db)
File ".../python3.9/site-packages/django/db/models/sql/query.py", line 592, in has_results
return compiler.has_results()
File ".../python3.9/site-packages/django/db/models/sql/compiler.py", line 1366, in has_results
return bool(self.execute_sql(SINGLE))
File ".../python3.9/site-packages/django/db/models/sql/compiler.py", line 1396, in execute_sql
cursor = self.connection.cursor()
File ".../python3.9/site-packages/django/utils/asyncio.py", line 24, in inner
raise SynchronousOnlyOperation(message)
django.core.exceptions.SynchronousOnlyOperation: You cannot call this from an async context - use a thread or sync_to_async.
Started /usr/local/lino/lino_local/jane/env/bin/daphne -u /run/daphne/jane_daphne1.sock --fd 0 --access-log - --proxy-headers asgi:application (using lino_local.jane.settings) --> PID 218443
Started /usr/local/lino/lino_local/jane/env/bin/daphne -u /run/daphne/jane_daphne0.sock --fd 0 --access-log - --proxy-headers asgi:application (using lino_local.jane.settings) --> PID 218442
I upgraded Django (from 4.1.7 to 4.2.7)