Bạn có thể sử dụng Chủ đề ::Hàng đợi hoặc bất kỳ thứ gì khác từ đây: Có mô-đun đa xử lý cho Perl không?
Nếu hệ thống cũ được viết bằng Perl theo cách này, bạn có thể sử dụng lại hầu hết các phần của nó.
Ví dụ không hoạt động:
use strict;
use warnings;
use threads;
use Thread::Queue;
my $q = Thread::Queue->new(); # A new empty queue
# Worker thread
my @thrs = threads->create(sub {
while (my $item = $q->dequeue()) {
# Do work on $item
}
})->detach() for 1..10;#for 10 threads
my $dbh = ...
while (1){
#get items from db
my @items = get_items_from_db($dbh);
# Send work to the thread
$q->enqueue(@items);
print "Pending items: "$q->pending()."\n";
sleep 15;#check DB in every 15 secs
}