Add gruntmaster-paged
authorMarius Gavrilescu <marius@ieval.ro>
Wed, 15 Jan 2014 09:01:14 +0000 (11:01 +0200)
committerMarius Gavrilescu <marius@ieval.ro>
Wed, 15 Jan 2014 09:21:30 +0000 (11:21 +0200)
Makefile.PL
gruntmaster-paged [new file with mode: 0755]
lib/Gruntmaster/Data.pm
lib/Gruntmaster/Page.pm

index 9c22e698c95caabda44aa1a5288cc19fda3d12e2..822a1c7ee59c4518f056470ba60361ccc03e50a3 100644 (file)
@@ -4,7 +4,7 @@ use ExtUtils::MakeMaker;
 WriteMakefile(
   NAME              => 'Gruntmaster::Page',
   VERSION_FROM      => 'lib/Gruntmaster/Page.pm',
-  EXE_FILES         => [ qw/gruntmaster-genpage gruntmaster-genallpages gruntmaster-problem/ ],
+  EXE_FILES         => [ qw/gruntmaster-genpage gruntmaster-genallpages gruntmaster-paged gruntmaster-problem/ ],
   ABSTRACT_FROM     => 'lib/Gruntmaster/Page.pm',
   AUTHOR            => 'Marius Gavrilescu <marius@ieval.ro>',
   MIN_PERL_VERSION  => '5.14.0',
diff --git a/gruntmaster-paged b/gruntmaster-paged
new file mode 100755 (executable)
index 0000000..ef2bf81
--- /dev/null
@@ -0,0 +1,11 @@
+#!/usr/bin/perl -w
+use v5.14;
+
+use Gruntmaster::Data qw/SUBSCRIBE WAIT_FOR_MESSAGES/;
+use Gruntmaster::Page qw/_generate/;
+
+SUBSCRIBE 'genpage', \&_generate;
+WAIT_FOR_MESSAGES 86400 while 1;
+
+1;
+__END__
index 9f4cf952b1d7ebc64f6759e2708bb5198a185661..e2ef0dcac0c12a3afbd8b98cc86c826137dafc53 100644 (file)
@@ -9,6 +9,7 @@ use Redis;
 
 our $contest;
 my $redis = Redis->new;
+my $pubsub = Redis->new;
 
 sub dynsub{
        no strict 'refs';
@@ -19,6 +20,10 @@ BEGIN {
        for my $cmd (qw/multi exec smembers get hget hset sadd srem incr hmset hsetnx/) {
                dynsub uc $cmd, sub { say "Arguments to \U$cmd: ", join ', ', @_; $redis->$cmd(@_) };
        }
+
+       for my $cmd (qw/publish subscribe wait_for_messages/) {
+               dynsub uc $cmd, sub { say "Arguments to \U$cmd: ", join ', ', @_; $pubsub->$cmd(@_) };
+       }
 }
 
 sub cp { defined $contest ? "contest.$contest." : '' }
index bce618c92b4216900b5327b908a4eeaecdbcd3ae..9fad273e81393639ae9324afad70c89fc332d940 100644 (file)
@@ -4,13 +4,14 @@ use 5.014000;
 use strict;
 use warnings;
 use parent qw/Exporter/;
-our @EXPORT_OK = qw/generate/;
+our @EXPORT_OK = qw/generate _generate/;
 
 use Fcntl qw/:flock/;
 use File::Basename qw/fileparse/;
 use File::Slurp qw/write_file/;
 use IO::Compress::Gzip qw/gzip/;
 use IO::File;
+use Gruntmaster::Data qw/PUBLISH/;
 
 our $VERSION = '0.001';
 our @generators;
@@ -44,7 +45,7 @@ sub declaregen{
        declaregen 'Pb::Entry'          => qr,^${contest}pb/$component$,;
 }
 
-sub generate{
+sub _generate{
        my ($path) = @_;
        my ($path_noext, $ext) = $path =~ m/^(.*)\.(.*)$/;
        my $basename = fileparse $path_noext;
@@ -74,6 +75,10 @@ sub generate{
        close $typemap;
 }
 
+sub generate{
+       PUBLISH 'genpage', shift;
+}
+
 1;
 __END__
 # Below is stub documentation for your module. You'd better edit it!
This page took 0.013746 seconds and 4 git commands to generate.