sql >> Databáze >  >> RDS >> Mysql

Vidlit či nevidlit?

Můžete použít Thread::Queue nebo jakýkoli jiný z tohoto:Existuje multiprocessingový modul pro Perl?

Pokud byl starý systém napsán v Perlu tímto způsobem, mohli byste jeho většinu znovu použít.

Příklad nefunkčního:

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
}


  1. Rychlý a nejlepší trik pro obnovu souborů SQL Server MDF

  2. MySQL převod mezi dvěma formáty data

  3. Zobrazení historie úloh SQL Server Agent pomocí SSMS

  4. Jak nakonfigurovat Ruby on Rails s Oracle?