Forum Webscript.Ru
Программирование => Perl => Тема начата: disgorge от 08 Января 2006, 18:36:53
-
Здравствуйте! С perl я знаком плохо. Подскажите, как организовать несколько обработчиков, работающих с базой одновременно. Работа их заключается в извлечении строк
таблицы, причем одна и та же строка не должна быть извлечена более одного раза. Таблица при этом не меняется. База mysql, если это важно. Спасибо.
-
Вариант №1
Вы запускаете несколько процессов которые знают смещение в таблице с которого надо читать. На примере таблицы
table1 CREATE TABLE `table1` (
`id` int(11) NOT NULL auto_increment,
`message` varchar(255) NOT NULL default \'\',
PRIMARY KEY (`id`)
) ENGINE=InnoDB
1 процесс делает такой запрос
select * from `test`.`table1` limit 0, 1
второй
select * from `test`.`table1` limit 5, 1
как и где хранить счётчик ваше дело.
Вариант №2
1 Процесс читает всю таблицу (или равными кусками) и шарит массив данных между процессами.
прочитайте вот что perldoc perlipc perlthrtut