[Python] uwsgi in docker: come interpretare questi log?

Alessandro Dentella sandro.dentella a gmail.com
Mar 15 Set 2020 15:57:16 CEST


On Tue, Sep 15, 2020 at 02:27:38PM +0200, Riccardo Magliocchetti wrote:
> On 15/09/20 13:08, Alessandro Dentella wrote:
> > Ma a me l'applicazione va per lungo tempo e poi comincia a darmi errore "dopo un
> > po'" cosa che non mi era mai successa quando usavo uwsgi fuori da docker.
> 
> eh senza configurazione è difficile aiutarti, se vedi quell'errore devi
> vedere le linee subito dopo al log e risolvere la questione.

Quando ho quell'errore non ho alcun altro log..

La conf di uwsgi è la seguente:


    [uwsgi]

    prj_dir = /code/
    wsgi-file = %(prj_dir)/web/wsgi.py
    env = PYTHONPATH=%(prj_dir)/apps

    socket-timeout = 200
    buffer-size = 10000
    processes = 2
    threads = 1

    http = :8000
    master = true
    http-keepalive = 1
    lazy-apps = 1
    wsgi-env-behavior = holy

    req-logger = file:/var/log/uwsgi/access.log
    logger = file:/var/log/uwsgi/errors.log
    chmod-socket    = 664

    static-map = /static=/code/static
    static-map = /media=/code/media
    ## dj collectstatics viene lanciato con --links per risparmiare spazio
    ## quindi uwsgi richiede che si dichiari che anche il target è sicuro
    static-safe = /code/web/static
    static-safe = /usr/local/lib/
    static-expires-uri = "/static/.*\.[a-f0-9]{12,}\.(css|js|png|jpg|jpeg|gif|ico|woff|ttf|otf|svg|scss|map|txt) 315360000"


> > Poi i rendo conto che non so come interpretare i log:
> > che significa "app: 0" o alternativamente "app: -1"?
> > ieri credevo che app: -1 fosse quando andava in errore, ma vedo che ho molte
> > richiestecon app: -1 che sono andate a buon fine.
> 
> dipende da chi risponde alle richieste

Ok, ora capisco che app: 0 => django  app: -1: static-map
Poi però trovo:

[pid: 7|app: -1|req: -1/53] 172.18.0.2 () {42 vars in 564 bytes} [Mon Sep 14 13:25:16 2020] GET /admin/ => generated 21 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 83 bytes (0 switches on core 0)


Che dovrebbe essere gestita da django ed ha "app: -1", quindi sono punto e a
capo.

Inoltre che è req: -1/53. In modo ingenuo pensavo che fosse l'incrementale delle
request ricevute dall'istanza e poi dal singolo processo. Ma -1 esce da questo
schema, quindi di nuovo sono al palo...


La cosa che mi perplime è che la stessa richiesta venga servita a volte con
errore a volte no, tipo 50% delle volte in un modo e 50% nell'altro.

Oggi però non riesco ad avere un errore neanche a piangere...

sandro
*:-)


Maggiori informazioni sulla lista Python