2017-04-16 1 views
0

J'utilise django haystack et je veux faire une commande automatique qui chaque fois que le serveur de développement ou le serveur réel l'actualise automatiquement. . /manage.py update_index. Ceci est pour automatiser les choses afin que je n'aie pas à exécuter constamment la commande pour indexer les pages chaque fois que quelque chose est postéScript automatique pour exécuter la commande django

+0

Vous pouvez créer un signal 'post_save' sur votre modèle. Bien que cela puisse conduire à des problèmes de performance. –

Répondre

0

Selon le documentation, vous pouvez utiliser soit un travail Cron en définissant un pour exécuter la commande update_index tous les deux de minutes/heures ou un jour. La commande doit ressembler à ceci:

* 1 * * * path/to/env/bin/python /path/to/django-imc/manage.py update_index 

où/env/bin est le dossier virtualenv. Ce travail cron s'exécutera toutes les heures

Sinon Haystack provides a processor où chaque fois que le modèle change, il met à jour automatiquement l'index. Cela peut être réalisé en ajoutant les éléments suivants dans votre fichier settings.py

HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'