Tuesday, September 24, 2019¶
I opened and did #3222 (
and I copied the Estonian name generator from the
management command to a
demo2 fixture for
(needed for #3221). Both changes are in preparation of a public demo
in Märjamaa planned for Saturday.
I pushed above changes to master without waiting for the end of the test run, then pushed another commit for adapting the book tests.
Back to work on #3095 (move weleup to new server).
I use to have
LINO_LOGLEVEL set to
DEBUG when running a
runserver because the debug messages generated by Lino are useful
when running manual tests. With newer Django versions I have the same problem
as reported on 30554. To
“fix” this, the
lino.core.site.Site.setup_logging() method now sets the
level for Django’s
django.utils.autoreload logger to
Unknown callback ‘7f1d8ad5a39’¶
Lino’s callback system doesn’t work ATM on our sites running under nginx because
callbacks require a unique
Kernel.pending_threads where all unanswered
callback questions are stored. It is currently impossible to delete e.g. a
calendar entry on such a Lino site.
nginx creates separate worker processes that run in completely different processes and cannot share data between them.
“Nginx uses only asynchronous I/O, which makes blocking a non-issue. The only reason nginx uses multiple processes, is to make full use of multi-core, multi-CPU and hyper-threading systems. Even with SMP support, the kernel cannot schedule a single thread of execution over multiple CPU”
I changed the
worker_processes value in the
file from 10 to 1 and voilà. Of course we need to keep an eye on performance. If
needed I’d consider redis for storing the callbacks and user preferences and all