Revision 96670fe8
Von Moritz Bunkus vor etwa 8 Jahren hinzugefügt
SL/BackgroundJob/CreatePeriodicInvoices.pm | ||
---|---|---|
205 | 205 |
|
206 | 206 |
my $order = $config->order; |
207 | 207 |
my $invoice; |
208 |
if (!$self->{db_obj}->db->do_transaction(sub {
|
|
208 |
if (!$self->{db_obj}->db->with_transaction(sub {
|
|
209 | 209 |
1; # make Emacs happy |
210 | 210 |
|
211 | 211 |
$invoice = SL::DB::Invoice->new_from($order); |
... | ... | |
254 | 254 |
_log_msg("_create_invoice created for period start date $period_start_date id " . $invoice->id . " number " . $invoice->invnumber . " netamount " . $invoice->netamount . " amount " . $invoice->amount); |
255 | 255 |
|
256 | 256 |
# die $invoice->transaction_description; |
257 |
|
|
258 |
1; |
|
257 | 259 |
})) { |
258 | 260 |
$::lxdebug->message(LXDebug->WARN(), "_create_invoice failed: " . join("\n", (split(/\n/, $self->{db_obj}->db->error))[0..2])); |
259 | 261 |
return undef; |
Auch abrufbar als: Unified diff
»with_transaction« anstelle von »do_transaction« verwenden
Es sollte so selten wie möglich »do_transaction« verwndet werden, damit
man sich immer angewöhnt, »with_transaction« zu nutzen.
Hintergründe und Unterschiede zwischen den beiden Funktionen sind in der
Dokumentation von SL/DB.pm beschrieben.