Author image Kazuho Oku
and 1 contributors


Parallel::Scoreboard - A scoreboard for monitoring status of many processes


  use Parallel::Scoreboard;

  my $scoreboard = new Parallel::Scoreboard(
      base_dir => '/tmp/my_scoreboard'

  # in each worker process
  $scoreboard->update('this is my current status');

  # to read status of all worker processes
  my $stats = $scoreboard->read_all();
  for my $pid (sort { $a <=> $b } keys %$stats) {
      print "status for pid:$pid is: ", $stats->{$pid}, "\n";


Parallel::Scoreboard is a pure-perl implementation of a process scoreboard. By using the module it is easy to create a monitor for many worker process, like the status module of the Apache HTTP server.

Unlike other similar modules, Parallel::Scoreboard is easy to use and has no limitation on the format or the length of the statuses to be stored. Any arbitrary data (like JSON or frozen perl object) can be saved by the worker processes as their status and read from the manager process.


new(base_dir => $base_dir)

instantiation. Receives the directory name in which the scoreboard files will be stored. The directory will be created if it does not exist already.


saves the status of the process


reads the status of all worker processes that are alive and that have called update() more than once. Returned value is a hashref with process ids as keys and the statuses of each processes as corresponding values.


remove obsolete status files found in base_dir. The files are normally removed upon the termination of worker process, however they might be left unremoved if the worker process was killed for some reason. The detection and removal of the obsolete status files is performed by read_all() as well.


IPC::ScoreBoard Proc::Scoreboard


Kazuho Oku <kazuhooku>


This program is free software, you can redistribute it and/or modify it under the same terms as Perl 5.10.