</unix_config>
</opensrf.settings>
+ <opensrf.slooooooow>
+ <keepalive>1</keepalive>
+ <stateless>1</stateless>
+ <language>perl</language>
+ <implementation>OpenSRF::Application::Slooooooow</implementation>
+ <max_requests>100</max_requests>
+ <unix_config>
+ <unix_sock>opensrf.slooooooow_unix.sock</unix_sock>
+ <unix_pid>opensrf.slooooooow_unix.pid</unix_pid>
+ <max_requests>1000</max_requests>
+ <unix_log>opensrf.slooooooow_unix.log</unix_log>
+ <min_children>2</min_children>
+ <max_children>5</max_children>
+ <min_spare_children>1</min_spare_children>
+ <max_spare_children>2</max_spare_children>
+ </unix_config>
+ </opensrf.slooooooow>
+
<opensrf.validator>
<keepalive>1</keepalive>
<stateless>1</stateless>
<appname>opensrf.math</appname>
<appname>opensrf.dbmath</appname>
<appname>opensrf.validator</appname>
+ <appname>opensrf.slooooooow</appname>
</activeapps>
<apps>
--- /dev/null
+package OpenSRF::Application::Slooooooow;
+use base qw/OpenSRF::Application/;
+use OpenSRF::Application;
+
+use OpenSRF::Utils::SettingsClient;
+use OpenSRF::EX qw/:try/;
+use OpenSRF::Utils qw/:common/;
+use OpenSRF::Utils::Logger;
+
+my $log;
+
+sub initialize {
+ $log = 'OpenSRF::Utils::Logger';
+}
+
+sub child_init {}
+
+sub wait_for_it {
+ my $self = shift;
+ my $client = shift;
+ my $pause = shift;
+
+ $pause =~ s/\D//g if (defined $pause);
+ $pause //= 1;
+
+ $log->info("Holding for $pause seconds...");
+ sleep($pause);
+ $log->info("Done waiting, time to return.");
+ return [$pause, @_]
+}
+__PACKAGE__->register_method(
+ api_name => 'opensrf.slooooooow.wait',
+ method => 'wait_for_it',
+ argc => 1,
+ signature => {
+ params => [
+ {name => "pause", type => "number", desc => "Seconds to sleep, can be fractional"},
+ {name => "extra", type => "string", desc => "Extra optional parameter used to inflate the payload size"}
+ ],
+ return => {
+ desc => "Array of passed parameters",
+ type => "array"
+ }
+ }
+
+);
+
+1;