PHP XMPP 24/7 бот

Здравствуйте. Возникла потребность написать jabber-бота, который будет работать круглосуточно, при этом принимая и отправляя около 2000 сообщений в час и работая с БД MongoDB.
Работать бот будет на Linux, но поскольку у меня нету достаточных знаний C/С++ (что предпочтительнее для этой задачи), я хочу написать его на PHP 5.3.
Но как с подобного рода задачами обстоят дела у PHP? Не будет у такого скрипта низкая производительность? Не будет ли он «сжирать» память?
Спасибо за подсказки.
  • Вопрос задан
  • 5289 просмотров
Пригласить эксперта
Ответы на вопрос 9
Riateche
@Riateche
В свое время пытался решить подобную задачу. Ничего хорошего из этого не вышло: соединение постоянно рвалось или зависало. В принципе, проблем с памятью быть не должно. Если же они будут, можно перезапускать скрипт через определенные промежутки времени, это не страшно.

Я бы посоветовал освоить один из более высокоуровневых языков (например, Python или Ruby). Освоить Ruby на начальном уровне — дело одного дня, а подобные задачи на нем решаются на порядок проще.
Ответ написан
Комментировать
@shsmad
python + twisted?
Ответ написан
Комментировать
VBart
@VBart
Потратьте пару дней на изучение Python и напишите на нем (можно, как уже упоминалось, взять Twisted). Будет гораздо лучше, как для вас, так и для решения задачи.
Ответ написан
Carzil
@Carzil
Писал когда-то на python'e + xmpppy:
wiki.linuxformat.ru/index.php/LXF121:Python
xmpppy.sourceforge.net/
Ответ написан
Комментировать
@korotovsky
Вот тут http://steelbot.net можно найти Jabber бота, с плагинами и прочими плюшками. Лучший вариант из тех что я видел.
Ответ написан
slang
@slang
2000 в час, это в среднем 1 сообщение раз в 1.8 секунды, вы действительно думаете что это серьёзная нагрузка? РНРшный CLI демон спокойно справится, тем более что будет резвый NoSQL-сторейдж.
Ответ написан
Комментировать
Производительности вполне достаточно для таких нагрузок, если логика бота простая, а не нейронная сеть для прохождения теста Тьюринга :)

Чтобы многое не писать с нуля советую глянуть на phpdaemon На хабре о нём тоже писали
Ответ написан
Комментировать
Horse
@Horse
2000 сообщений в час — не большая нагрузка для stateless (а я так понимаю, от состояний мало что зависит). В первую очередь нужно оптимизировать запросы к БД. А про сам XMPP можно не парится, уверен, что низкоуровневой работы с памятью, потоками, соккетами вам не требуется. Если есть готовая библиоткеа на php — используйте и не бойтесь — даже будет лучше, бо с++ web приложения они компилятся в нативный код и небольшая ошибка сделает ваш XMPP бот не готовым к 24/7. А в php ошибки не влияют на само приложение (web сервер не остановится). nginx (или что там у вас) разберется с памятью на должном уровне. Главное чтобы не apache).
Ответ написан
OdaN
@OdaN
Для пхп есть готовые скрипты: code.google.com/p/xmpphp/. Писал на его основе бота себе. Впринципе при небольшом допиливании вполне рабочий инструмент.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
27 окт. 2021, в 14:18
18800 руб./за проект
27 окт. 2021, в 14:16
4000 руб./за проект
27 окт. 2021, в 14:04
50000 руб./за проект