Re: [Python] Django e celery

2017-10-20 Per discussione Marco De Paoli
ciao Karim,

Il giorno 21 ottobre 2017 00:27, Karim  ha scritto:

> Ciao lista, ciao Marco De Paoli. Ecco un breve riassunto del passaggio da
> Celery a Django-Q
>

grazie mille delle info!

M.
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Django e celery

2017-10-20 Per discussione Karim
Ciao lista, ciao Marco De Paoli. Ecco un breve riassunto del passaggio da
Celery a Django-Q

Primo giorno: Iniziata la transizione a Django-Q

1) Installato django-q, configurazione di base su redis
2) Provato a far partire il primo task con "async". Perfetto. Funziona.
3) Rimosso celery e tutta la merda che lo circonda (che soddisfazione!)
4) Convertito tutti i ".delay" di celery ad "async" di django-q
5) Rimosso tutti i task registrati con il decoratore (li usavo con
celerybeat)

-> Faccio partire tests
Dimenticato alcuni imports e altri riferimenti. Cancella! Cancella! Edita!
Edita!

Ora i tests iniziano a darmi qualche problema. Ci sto lavorando. Ho 400
test circa e 80 mi stanno facendo il middlefinger.
Inoltre i log di django_q non mi vanno a braccetto con gli altri log.


Secondo giorno

Aggiornato errori e aggiornati i tests.
Ho dovuto, per ora, disabilitare il 'retry' in due tasks costruiti per
celery che richiamavano se stessi in caso di errore. Vedrò di convertirli a
Django-Q.
Ho dovuto cambiare varie classi da subclass di TestCase a subclass di
TransictionalTestCase per evitare problemi con la connessione al database.
Come risultato, molto tests ora sono decisamente più lenti.

Due test in particolare li ho dovuti disabilitare. Passano se li lancio
individualmente, ma non funzionano nel test harness.
Ho risolto anche il problema del log. Stranamente devi registrare
`django-q` nel logging, ma l'import viene fatto come `django_q`. L'ho
scoperto leggendo il codice di django-q.
Faccio il primo deploy, sostituendo tutto cio' che riguarda celery. La
semplicita' e' tale che funziona da subito. Verifico sul server e si, i
task vengono aggiunti e processati.
Faccio partire l'autoscaling ed il secondo cluster viene aggiunto e i task
mistati.
Provo ad aggiungere lo scheduling direttamente da django admin. I task
vengono processati. Niente doppioni, niente cazzate. Tutto funziona.


PRO:
- Facilissimo da configurare
- Usa Django Admin per i successful tasks, failed tasks e lo scheduling
- Un solo processo da avviare sul server
- Conversione del codice da Celery a Django-Q semplice
- Usa Django!


CONTRO:
- Non ha tutte le feature di Celery, ma a me sinceramente non serve
- Non esiste un monitor dei tasks in coda a meno che non usi Django ORM
come broker. Devi ripiegare su qualcosa per il tuo broker


-- 
Karim N. Gorjux
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Django e celery

2017-10-13 Per discussione Karim
2017-10-13 17:57 GMT+11:00 Marco De Paoli :

> ​[...]
> Insomma django-q mi sembra molto interessante, grazie della segnalazione
> Cercherò di vedermelo, nel frattempo se tu hai
> news/impressioni/valutazioni condividile pure, grazie
>

​Lo implementero' al piu' presto perche' di celery non ne voglio piu'
vedere, nemmeno nell'insalata :-D

Daro' notizie appena proseguo con la migrazione​


-- 
Karim N. Gorjux
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Django e celery

2017-10-13 Per discussione Marco De Paoli
ciao Karim,

Il giorno 12 ottobre 2017 22:46, Karim  ha scritto:

> 2017-10-09 14:00 GMT+11:00 Karim :
>
>> ​[...]
>>
>
> ​Piccola riunione al lavoro e abbiamo deciso di allocare del tempo nel
> prossimo sprint per passare a django-q. Nessuno ha davvero avuto esperienze
> con package simil celery?
>

io uso django-rq e non mi trovo male

però ho avuto un po' di problemi in alcuni casi particolari (es. in caso di
riavvio dei worker rischia di incasinarsi sui job in "processing": ne
mostra due; poi se cancello dei job in coda continua a mostrarli nel
conteggio)

Un altra cosa che mi manca è il persistent store su DB che sia
batteries-included

Insomma django-q mi sembra molto interessante, grazie della segnalazione
Cercherò di vedermelo, nel frattempo se tu hai news/impressioni/valutazioni
condividile pure, grazie

bye,
Marco
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Django e celery

2017-10-12 Per discussione Karim
2017-10-09 14:00 GMT+11:00 Karim :

> ​[...]
>

​Piccola riunione al lavoro e abbiamo deciso di allocare del tempo nel
prossimo sprint per passare a django-q. Nessuno ha davvero avuto esperienze
con package simil celery?

Ciao
​

-- 
Karim N. Gorjux
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


[Python] Django e celery

2017-10-08 Per discussione Karim
Ciao lista, avrei voluto scrivere questo post sulla lista di Django, ma
alla fine ho pensato che riguarda anche l'ambiente python al di fuori di
Django quindi ho deciso di scrivere qui.

​Pochi giorni fa ho scritto riguardo a celery ed il persistent result, oggi
invece ho una grana con celerybeat e l'autoscaling​ (uso aws elastic
beanstalk), prima ancora avevo dei problemi riguardo al logging. Morale
della favola sto davvero valutando l'ipotesi di mandare Celery a ...

Tempo fa lessi una discussione qui o su django ita di chi ha preferito
abbandonare Celery e passare a python-rq. Io vorrei fare la stessa cosa, ma
passare a django-q: http://django-q.readthedocs.io/en/latest/index.html

Io ho bisogno di avere

   1. i tasks runnati in asincrono
   2. il django admin con risultati dei tasks
   3. django che mi fa lo scheduling senza dover avviare un demone in piu'
   che con Aws ElasticBeanstalk lo perdo a causa dell'autoscaling (il
   leader_only funziona solo in deploy)
   4. Possibilita' di cambiare lo scheduling dal django admin

Django-q sembra fare tutte ste cose, ma chiedo a voi prima di intraprendere
una (costosa) migrazione. Qualcuno di voi ha provato django-q? Avete idee o
consigli?

Grazie

-- 
Karim N. Gorjux
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python