2013-03-04 3 views
0

Я новичок, пытающийся создать свое первое веб-приложение. Сейчас я имею в виду систему уведомлений, аналогичную системе Facebook. Я быстро просмотрел, что другие люди говорили о предмете, и видел много разных мнений о том, как подойти к проблеме: некоторые люди рекомендуют делать этот процесс в фоновом режиме, используя Resque/Delayed Job/Beanstalkd, в то время как другие указывают на такие драгоценные камни, как Mailboxer.Rails - создание системы уведомлений, аналогичной системе Facebook

Почему необходимо обрабатывать работу в фоновом режиме? Это только для входящих сообщений? Кроме того, достаточно ли отложенного задания для простой системы уведомлений? Я слышал, что beanstalkd является самым быстрым, но не поддерживает Windows.

Любая помощь/совет/ответ были бы весьма признательны.

+1

привет! когда вы говорите систему уведомлений, вы имеете в виду систему уведомлений в реальном времени (например, всплывающее окно) или просто вверху (например, почтовый ящик?) – jvnill

+0

Просто один наверху :) – jeebface

+0

В этом случае вы нужно только добавить отдельную модель, которая создает уведомления. Другие предлагают фоновое задание, потому что вы можете создавать более одной записи уведомления для одного действия, которое может занять много времени. Это просто простое приложение, поэтому вы можете начать работать над ним, если у вас есть какие-либо учебники. Когда вы застряли, просто задайте другой вопрос, и мы увидим, что мы можем сделать, чтобы помочь. – jvnill

ответ

1

Вам нужно будет выполнить задачу рейка или задержанную работу.

В веб-приложении вы должны немедленно отправить ответ пользователю, вы не хотите, чтобы он ждал, пока вы не выполните всю обработку трансляции, поэтому вы просто сохраните публикацию и покажите ему успех сообщение.

Затем вы обрабатываете уведомление, и вы передаете это уведомление всем подписчикам, этот процесс может занять немного (представьте, кто-то с 2000 друзьями).

Наконец, если вы хотите систему уведомлений, чтобы показать уведомления в реальном времени, фоновый процесс может транслировать сообщение, хотя JavaScript и WebSockets, посмотреть на Best Ruby on Rails WebSocket tool

1

Посмотрите на эту прекрасную видео и текста учебника http://railscasts.com/episodes/406-public-activity он может указывать на правильное направление

Также на том же сайте вы найдете много полезной информации

Смежные вопросы