use inline penalty processing during fine generation to prevent duplicate penalties
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 15 Oct 2009 13:52:57 +0000 (13:52 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 15 Oct 2009 13:52:57 +0000 (13:52 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@14439 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/action.pm

index b95a528..4dfb654 100644 (file)
@@ -768,11 +768,18 @@ sub generate_fines {
 
                        $self->method_lookup('open-ils.storage.transaction.commit')->run;
 
-                       if(0) { # caluclate penalties inline.  Needs to be tested.
+                       if(1) { 
+
+                # Caluclate penalties inline
                                OpenILS::Utils::Penalty->calculate_penalties(
                                        undef, $c->usr->to_fieldmapper->id.'', $c->circ_lib->to_fieldmapper->id.'');
+
                        } else {
 
+                # Calculate penalties with an aysnc call to the penalty server.  This approach
+                # may lead to duplicate penalties since multiple penalty processes for a
+                # given user may be running at the same time. Leave this here for reference 
+                # in case we later find that asyc calls are needed in some environments.
                                $penalty->request(
                                    'open-ils.penalty.patron_penalty.calculate',
                                    { patronid  => ''.$c->usr,