LP#1706147 Perl Force-Recycle drone option
[opensrf-equinox.git] / src / perl / lib / OpenSRF / AppSession.pm
index b90e52c..ec5ebb4 100644 (file)
@@ -146,6 +146,7 @@ sub server_build {
 
        my $self = bless { recv_queue  => [],
                           request_queue  => [],
+               force_recycle => 0,
                           requests  => 0,
                           session_data  => {},
                           callbacks  => {},
@@ -228,6 +229,15 @@ sub stateless {
        return $self->{stateless};
 }
 
+# When true, indicates the server drone should be killed (recycled)
+# after the current session has completed.  This overrides the
+# configured max_request value.
+sub force_recycle {
+    my ($self, $force) = @_;
+    $self->{force_recycle} = $force if defined $force;
+    return $self->{force_recycle};
+}
+
 # When we're a client and we want to connect to a remote service
 sub create {
        my $class = shift;