Re: [Python] Django e celery
ciao Karim, Il giorno 21 ottobre 2017 00:27, Karimha 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
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 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
ciao Karim, Il giorno 12 ottobre 2017 22:46, Karimha 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-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
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