Я пытаюсь использовать xmpppy для отправки jabber-сообщений с сайта django. Это прекрасно работает.
Однако сообщение отправляется только первым получателям в списке. Это происходит, когда я запускаю следующую функцию из django, а также если я запускаю ее из интерактивной оболочки python. Странная часть, однако, заключается в том, что если я извлеку -body- функции и запусту ее в интерактивном режиме, то все получатели (сейчас их всего 2) получат сообщение.
Кроме того, я знаю, что внутренний цикл for запускается с правильным количеством раз (2), потому что оператор print выполняется дважды и возвращает два разных идентификатора сообщения.
Функция выглядит следующим образом:
def hello_jabber(request, text):
jid=xmpp.protocol.JID(settings.JABBER_ID)
cl=xmpp.Client(jid.getDomain(),debug=[])
con=cl.connect()
auth=cl.auth(jid.getNode(),settings.JABBER_PW,resource=jid.getResource())
for friend in settings.JABBER_FRIENDS:
id=cl.send(xmpp.protocol.Message(friend,friend + ' is awesome:' + text))
print 'sent message with id ' + str(id)
cl.disconnect()
return render_to_response('jabber/sent.htm', locals())