aboutsummaryrefslogtreecommitdiffstats
path: root/perllib
diff options
context:
space:
mode:
Diffstat (limited to 'perllib')
-rw-r--r--perllib/FixMyStreet.pm1
-rw-r--r--perllib/Open311/GetServiceRequestUpdates.pm9
2 files changed, 10 insertions, 0 deletions
diff --git a/perllib/FixMyStreet.pm b/perllib/FixMyStreet.pm
index f6a69928b..94ba7685f 100644
--- a/perllib/FixMyStreet.pm
+++ b/perllib/FixMyStreet.pm
@@ -154,6 +154,7 @@ sub dbic_connect_info {
my $dbi_args = {
AutoCommit => 1,
+ AutoInactiveDestroy => 1,
};
my $local_time_zone = local_time_zone();
my $dbic_args = {
diff --git a/perllib/Open311/GetServiceRequestUpdates.pm b/perllib/Open311/GetServiceRequestUpdates.pm
index a407d8e37..e27a08068 100644
--- a/perllib/Open311/GetServiceRequestUpdates.pm
+++ b/perllib/Open311/GetServiceRequestUpdates.pm
@@ -2,6 +2,7 @@ package Open311::GetServiceRequestUpdates;
use Moo;
use Open311;
+use Parallel::ForkManager;
use FixMyStreet::DB;
use FixMyStreet::App::Model::PhotoSet;
use DateTime::Format::W3CDTF;
@@ -37,7 +38,11 @@ sub fetch {
$bodies = $bodies->search( { name => $self->body } );
}
+ my $procs = FixMyStreet->config('FETCH_COMMENTS_PROCESSES') || 0;
+ my $pm = Parallel::ForkManager->new(FixMyStreet->test_mode ? 0 : $procs);
while ( my $body = $bodies->next ) {
+ $pm->start and next;
+
$self->current_body( $body );
my %open311_conf = (
@@ -57,7 +62,11 @@ sub fetch {
$self->blank_updates_permitted( $body->blank_updates_permitted );
$self->system_user( $body->comment_user );
$self->process_body();
+
+ $pm->finish;
}
+
+ $pm->wait_all_children;
}
sub parse_dates {