guard against race with *_or_* DBIC methods

This commit is contained in:
Oliver Gorwits
2013-05-24 11:34:23 +01:00
parent d50c54972e
commit c74c56dc02

View File

@@ -80,8 +80,12 @@ sub do_arpnip {
# update subnets with new networks # update subnets with new networks
foreach my $cidr (@subnets) { foreach my $cidr (@subnets) {
try {
schema('netdisco')->txn_do(sub {
schema('netdisco')->resultset('Subnet') schema('netdisco')->resultset('Subnet')
->update_or_create({net => $cidr, last_discover => \'now()'}); ->update_or_create({net => $cidr, last_discover => \'now()'});
});
};
} }
debug sprintf ' [%s] arpnip - processed %s Subnet entries', debug sprintf ' [%s] arpnip - processed %s Subnet entries',
$device->ip, scalar @subnets; $device->ip, scalar @subnets;