Benvenuto!

Questo è il forum ufficiale dell'Associazione Odoo Italia. Dopo esserti registrato potrai partecipare ponendo domande o rispondendo a quelle esistenti. Non scordarti di compilare il tuo profilo e consultare le linee guida prima di iniziare a scrivere.

0

1
Avatar

Davide Corio

--Davide Corio--
1642
| 5 2 7
Luserna San Giovanni, Italia
--Davide Corio--

Programma qualsiasi cosa abbia a portata di mano dal 1997, ma non gli piace farsi chiamare "sviluppatore": il mondo del software è più interessante quando osservato con gli occhi di chi usa gli strumenti IT. Da più di 12 anni si occupa di consulenza legata esclusivamente ad Odoo, un framework basato su Python per la costruzione di soluzioni ERP.

Davide Corio
Il 10/09/20, 07:16

Io uso docker e clono i repo nel container invece di usare pip.

Più che altro per pigrizia, non ho mai modificato le mie immagini per snellirle.

I casi in cui devo usare più di 6-7 repo sono veramente pochi e anche dove arrivo a 10-12 lo startup del sistema non è lentissimo. Ovviamente tutti dipende dal IO del server.

Dal mio punto di vista hai due alternative:

1. limiti il numero di repo

2. usi wheelhouse.odoo-community.org


La tua risposta


0
Luigi Di Naro
Il 12/09/20, 13:21

Piu' che intervenire su odoo, la modifica da te proposta blocca l'inserimento di nuovi moduli dopo il deploy del database, dovresti intervenire in fase di build del container .....

Io ho uno script banale che copia, in fase di build (CI o docker build poco importa) solo i moduli di una lista (taglio anche i moduli che odoo considera standard ma standard non sono) in modo tale da avere un'immagine con solo quello che serve non con tutta la spazzatura.

Io faccio cosi' .... progetto git del cliente con submodule tutto quello che mi serve ... script che esegue un update git dei submodule (non ricordo il comando :D) e poi copia selettiva nel container di solo quello che serve da lista .... in realta' copio prima in temp per evitare di creare mille layer.

1200 moduli ... ma anche 400 e rotti di odoo e' follia ... al di la dei problemi di lentezza, non ho mai constatato visto che non li ho mai avuti, l'immagine risulta di dimensioni assurde se non altro per le mille mila traduzioni che ogni modulo si porta dietro.

IMHO taglia tutto quello che non ti serve prima che arrivi all'immagine ... appena hai fatto ti chiederai come facevi senza prima.

Unico problema del cazzo, i moduli standard di odoo che mettono opzioni in config che i realta' so install di altri moduli ... ma vista la pericolosita' di tale approccio meglio che generi errore.


La tua risposta


-1
Luigi Gregori
Il 11/09/20, 07:03

Grazie Davide,
Anche io clono i repo nel container ( non uso pip ma direttamente dalle repo git). Ho scoperto che il problema non è lo startup normale ma quando lo lanci con l'aggiornamento di un modulo - nel mio caso quello che sto sviluppando e che avendo variazione del codice python mi richiede il riavvio dell'applicativo.
Come dicevo io di repo al momento ne clono circa 40 (OCA) più 5/6 mie interne. Il problema non è il numero delle repo ma il numero dei moduli che lui "scorre" ad ogni riavvio o aggiornamento.
Comunque ho risolto modificando il modulo base/models/ir_module.py ( so che è una bestialità ma in sviluppo mi risparmia ore) aggiungendo un paio di righe nel metodo "update_list" ovvero

        # iterate through detected modules and update/create them in db
        for mod_name in modules.get_modules():
            mod = known_mods_names.get(mod_name)
              if mod:
                if mod.state == 'uninstalled' :
                    continue
In questo modo skippa bellamente tutti i moduli non installati e vola!

La tua risposta

0
Avatar

Davide Corio

--Davide Corio--
1642
| 5 2 7
Luserna San Giovanni, Italia
--Davide Corio--

Programma qualsiasi cosa abbia a portata di mano dal 1997, ma non gli piace farsi chiamare "sviluppatore": il mondo del software è più interessante quando osservato con gli occhi di chi usa gli strumenti IT. Da più di 12 anni si occupa di consulenza legata esclusivamente ad Odoo, un framework basato su Python per la costruzione di soluzioni ERP.

Davide Corio
Il 11/09/20, 07:15

Facendo così se in un repo viene aggiunto un nuovo modulo non lo vedi.


La tua risposta

0
Luigi Gregori
Il 12/09/20, 14:10

ha ragione, infatti è una modifica che  metto e "tolgo". Ovvero se sto debuggando un mio modulo py e non voglio perdere tempo ad ogni riavvio ( e ne faccio parecchi perchè sono un po' capra ed ho scoperto che 1 volta su due il semplice reload del modulo non recepisce il codice py)  lo attivo altrimenti se devo fare un aggiornamento delle repo o installare qualcosa di nuovo "uninstalled" diventa "xxx uninstalled" e tutto torna come prima  ;)


La tua risposta


-1
Walter Tosolini
Il 14/09/20, 12:23

Cioè ma voi caricate i moduli dentro il container?!


La tua risposta

0
Avatar

Davide Corio

--Davide Corio--
1642
| 5 2 7
Luserna San Giovanni, Italia
--Davide Corio--

Programma qualsiasi cosa abbia a portata di mano dal 1997, ma non gli piace farsi chiamare "sviluppatore": il mondo del software è più interessante quando osservato con gli occhi di chi usa gli strumenti IT. Da più di 12 anni si occupa di consulenza legata esclusivamente ad Odoo, un framework basato su Python per la costruzione di soluzioni ERP.

Davide Corio
Il 15/09/20, 05:54

Ormai uso quasi solo più esclusivamente Odoo.sh, ma dai clienti che preferiscono avere Odoo on-premise, sul filesystem dei server di produzione non metto nulla se non la configurazione dell'ambiente docker stesso


La tua risposta

Resta informato

Informazioni sulla comunità

Forum ufficiale dell'Associazione Odoo Italia Leggi le linee guida

Strumenti di richiesta

53 follower

Statistiche

Richiesta del: 08/09/20, 10:20
Vista: 1261 volte
Ultimo aggiornamento: 14/09/20, 12:23

 Entra in contatto diretto con la comunità.

Unisciti alla chat Discord.