janeczku / calibre-web

:books: Web app for browsing, reading and downloading eBooks stored in a Calibre database
GNU General Public License v3.0
13.13k stars 1.4k forks source link

Multiprocessing support #3196

Closed webysther closed 1 month ago

webysther commented 1 month ago

This will reduce response time when multiple core cpu is available

OzzieIsaacs commented 1 month ago

No it just throws an exception:

ERROR {cps.server:288} Error starting server: BaseAsyncIOLoop.start() takes 1 positional argument but 2 were given
Error starting server: BaseAsyncIOLoop.start() takes 1 positional argument but 2 were given

I checked the documentation of tornado back to 4.5, start() never accepted any parameter

webysther commented 1 month ago

No it just throws an exception:

ERROR {cps.server:288} Error starting server: BaseAsyncIOLoop.start() takes 1 positional argument but 2 were given
Error starting server: BaseAsyncIOLoop.start() takes 1 positional argument but 2 were given

I checked the documentation of tornado back to 4.5, start() never accepted any parameter

This is running in my production as a patch, the tornado version you are using isn't +6?

https://github.com/janeczku/calibre-web/blob/master/requirements.txt#L11

From the running container with calibre-web:

root@d347281d887c:/# pip list
Package                       Version
----------------------------- --------------
advocate                      1.0.0
alabaster                     1.0.0
anyio                         4.6.0
APScheduler                   3.10.4
arrow                         1.3.0
attrs                         24.2.0
babel                         2.16.0
beautifulsoup4                4.12.3
bibtexparser                  1.4.2
bleach                        6.1.0
blinker                       1.8.2
Brotli                        1.1.0
cachetools                    5.5.0
certifi                       2024.8.30
cffi                          1.17.1
chardet                       4.0.0
charset-normalizer            3.4.0
click                         8.1.7
comicapi                      3.2.0
cryptography                  43.0.1
Deprecated                    1.2.14
docutils                      0.21.2
exceptiongroup                1.2.2
fake-useragent                1.5.1
faust-cchardet                2.1.19
Flask                         3.0.3
flask-babel                   4.0.0
Flask-Dance                   7.0.1
Flask-HTTPAuth                4.8.0
Flask-Limiter                 3.8.0
Flask-Principal               0.4.0
Flask-SimpleLDAP              2.0.0
Flask-WTF                     1.2.1
free-proxy                    1.1.2
gevent                        24.2.1
goodreads                     0.3.2
google-api-core               2.21.0
google-api-python-client      2.149.0
google-auth                   2.35.0
google-auth-httplib2          0.2.0
google-auth-oauthlib          1.2.1
googleapis-common-protos      1.65.0
greenlet                      3.0.3
h11                           0.14.0
html2text                     2024.2.25
httpcore                      1.0.6
httplib2                      0.22.0
httpx                         0.27.2
idna                          3.10
imagesize                     1.4.1
importlib_metadata            8.5.0
importlib_resources           6.4.5
inflate64                     1.0.0
iso-639                       0.4.5
itsdangerous                  2.2.0
Jinja2                        3.1.4
jsonschema                    4.23.0
jsonschema-specifications     2024.10.1
Levenshtein                   0.25.1
limits                        3.13.0
lxml                          5.2.2
markdown-it-py                3.0.0
markdown2                     2.4.13
MarkupSafe                    3.0.1
mdurl                         0.1.2
multivolumefile               0.2.3
natsort                       8.4.0
ndg-httpsclient               0.5.1
netifaces                     0.11.0
nose                          1.3.7
oauth2client                  4.1.3
oauthlib                      3.2.2
ordered-set                   4.1.0
outcome                       1.3.0.post0
packaging                     24.1
pillow                        10.4.0
pip                           24.2
proto-plus                    1.24.0
protobuf                      5.28.2
psutil                        6.0.0
py7zr                         0.20.8
pyasn1                        0.6.1
pyasn1_modules                0.4.1
pybcj                         1.0.2
pycountry                     22.3.5
pycparser                     2.22
pycryptodomex                 3.21.0
PyDrive2                      1.19.0
Pygments                      2.18.0
pyOpenSSL                     24.2.1
pyparsing                     3.1.4
pypdf                         4.2.0
pyppmd                        1.1.0
PySocks                       1.7.1
python-dateutil               2.9.0.post0
python-dotenv                 1.0.1
python-ldap                   3.4.4
python-Levenshtein            0.25.1
python-magic                  0.4.27
pytz                          2024.2
PyYAML                        6.0.2
pyzstd                        0.16.2
RapidFuzz                     3.10.0
rarfile                       4.2
rauth                         0.7.3
referencing                   0.35.1
regex                         2024.5.15
requests                      2.31.0
requests-oauthlib             2.0.0
rich                          13.9.2
rpds-py                       0.20.0
rsa                           4.9
scholarly                     1.7.11
selenium                      4.25.0
setuptools                    59.6.0
six                           1.16.0
sniffio                       1.3.1
snowballstemmer               2.2.0
sortedcontainers              2.4.0
soupsieve                     2.6
Sphinx                        8.1.2
sphinx-rtd-theme              3.0.1
sphinxcontrib-applehelp       2.0.0
sphinxcontrib-devhelp         2.0.0
sphinxcontrib-htmlhelp        2.1.0
sphinxcontrib-jquery          4.1
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          2.0.0
sphinxcontrib-serializinghtml 2.0.0
SQLAlchemy                    2.0.35
SQLAlchemy-Utils              0.41.2
text2digits                   0.1.0
texttable                     1.7.0
tomli                         2.0.2
tornado                       6.4.1
trio                          0.26.2
trio-websocket                0.11.1
types-python-dateutil         2.9.0.20241003
typing_extensions             4.12.2
tzlocal                       5.2
Unidecode                     1.3.8
uritemplate                   4.1.1
urllib3                       1.26.20
URLObject                     2.4.3
Wand                          0.6.13
webencodings                  0.5.1
websocket-client              1.8.0
Werkzeug                      3.0.4
wheel                         0.44.0
wordninja                     2.0.0
wrapt                         1.16.0
wsproto                       1.2.0
WTForms                       3.1.2
xmltodict                     0.14.1
zipp                          3.20.2
zope.event                    5.0
zope.interface                7.1.0

Why you said tornado 4.5? I checked in last resort in /stats and is the same...