Χαίρεται φίλε, εγώ δυστηχώς δεν έχω απάντησεις στις ερωτήσεις, αλλά μάλιστα έχω ακόμη περισσότερες ερωτήσεις.
Καταρχήν εγώ εκ παραδρομής στην αρχή νόμιζα πως θέλεις να κάνεις απλώς ασύγχρονη επικοινωνία τύπου AJAX από το Django application που έχεις με την βάση σου.
Αλλά εσύ έχω την εντύπωση πως κάνεις κάτι ποιο δυνατό.. Η εφαρμογή σου δημιουργεί και διαχειρίζεται νήματα και οπότε χρησιμοποιείς την βιβλιοθήκη «
Celery» για να σε βοηθήσει στον χειρισμό και συντονισμό τους, σωστά;
Αν έχω καταλάβει καλά (
αν όχι, με συγχωρείς και σε παρακαλώ διόρθωσε με ), θα ήθελα να σου κάνω μερικές ερωτήσεις..
1) Τι είναι αυτό που σε εντυπωσιάζει στον συνδυασμό του Celery με το Django (
κατ' την Python ) σε αντίθεση με τυχόν άλλες βιβλιοθήκες ( αν έχεις δοκιμάσει ) παρόμοιου σκοπού ; Το προτείνουν από το Django ;
2) Τι είναι το
RabbitMQ ; Είναι ο διαμεσολαβητής μηνυμάτων.., ο μεσίτης.. ;
Είδα να το συγκρίνουν με διάφορα, όπως με το «
redis», με τη mongoDB ακόμη και με την MySQL.
Τι παίζει πλέον με αυτές τις τεχνολογίες; Κάπου πρόσφατα ξανά έπεσε πάνω τους (
συγκεκριμένα στο redis ), αλλά πέρα από την σύντομη περιγραφή τους, δεν πρόλαβα να διαβάσω περισσότερα και να καταλάβω την πραγματική του χρησιμότητα, χρήση και αξία.
Γνωρίζω τα βασικά για παράλληλο προγραμματισμό, αλλά δε μπορώ να καταλάβω τώρα γιατί να χρειάζονται αυτά τα εργαλεία σαν ξεχωριστά, και γιατί το Celery, δεν υλοποιεί/αναλαμβάνει μόνο του την αποστολή και λήψη των ασύγχρονων μηνυμάτων.. ώστε να συγχρωνίσει τις διεργασίες του (
αν έχω καταλάβει σωστά τον ρόλο του Celery ) ;
Επίσης με μια γρήγορη ανάγνωση στο άρθρο που μας παραθέτεις, είδα πως αυτός στο παράδειγμα του (
καλά απλώς ένα παράδειγμα είναι ), χρησιμοποιεί το Celery απλώς για να τραβάει φωτογραφίες από μία άλλη σελίδα. Δεν αντιλέγω πως προφανώς η χρήση μια τέτοιας τεχνολογίας είναι πολύ σημαντική, αλλά με απλά AJAX μηνύματα δεν μπορεί να πετύχει στο συγκεκριμένο παράδειγμα ακριβώς το ίδιο αποτέλεσμα ;
Ευχαριστώ.