J'utilise le module django_notification. https://github.com/pinax/django-notification/blob/master/docs/usage.txtJe ne comprends pas cette documentation de Django. Comment est-ce que je l'utilise ce module?
C'est ce que je fais dans mon code pour envoyer un e-mail à un utilisateur lorsque quelque chose se passe:
notification.send([to_user], "comment_received", noti_dict)
Mais, cela semble bloquer la demande. Et il faut beaucoup de temps pour l'envoyer. J'ai lu les docs et il est dit qu'il est possible de l'ajouter à une file d'attente (asynchrone). Comment l'ajouter à une file d'attente asynchrone?
Je ne comprends pas ce que les docs essayent de dire. Qu'est-ce que "emit_notices"? Quand est-ce que je l'appelle? Est-ce que j'ai un script qui appelle toutes les 5 secondes? C'est bête. Quelle est la bonne façon de le faire de manière asynchrone? Que fais-je?
Lets first break down what each does.
``send_now``
~~~~~~~~~~~~
This is a blocking call that will check each user for elgibility of the
notice and actually peform the send.
``queue``
~~~~~~~~~
This is a non-blocking call that will queue the call to ``send_now`` to
be executed at a later time. To later execute the call you need to use
the ``emit_notices`` management command.
``send``
~~~~~~~~
A proxy around ``send_now`` and ``queue``. It gets its behavior from a global
setting named ``NOTIFICATION_QUEUE_ALL``. By default it is ``False``. This
setting is meant to help control whether you want to queue any call to
``send``.
``send`` also accepts ``now`` and ``queue`` keyword arguments. By default
each option is set to ``False`` to honor the global setting which is ``False``.
This enables you to override on a per call basis whether it should call
``send_now`` or ``queue``.