Как настроить сообщения в Perl для обработки? - PullRequest
1 голос
/ 10 июня 2009

Какой лучший способ для сервера обрабатывать сообщения в Perl?

Я пытаюсь

while ( 1 ) {
  # Get Queue Messages
  # Do Work
  sleep( 10 );
}

Моя схема MySQL имеет вид

create table message (
  id int auto_increment primary key,
  processed int,
  message varchar(100)
)

и в "#Get Queue Messages" я делаю запрос как

select * from message where processed = 0

и затем нажмите флаг, когда это будет сделано.

Есть ли лучший способ сделать это?

Ответы [ 2 ]

2 голосов
/ 11 июня 2009

Мне кажется, что вы действительно хотите получить очередь заданий , например Gearman или TheSchwartz .

1 голос
/ 10 июня 2009

Ну, это зависит от того, что это за «сообщения» и как далеко вы хотите зайти. В большинстве случаев то, что вы делаете, вероятно, просто отлично.

Если вы используете этот механизм для большого объема трафика межпроцессного взаимодействия между вашим сервером и его клиентами, возможно, вы фиксируете экземпляр 'базы данных как IPC' '1004 *. Под этим подразумевается, что использование базы данных для рутинной передачи большого объема сообщений между процессами не очень хорошая вещь.

Если эта таблица сообщений используется таким образом, вы, возможно, захотите сделать «правильную» реализацию IPC. На справочной странице Perl IPC есть много полезной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...