X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FBackgroundJob.pm;h=1fc8d992da858ee2d337e3b721015a44b85c97dd;hb=9c463903b684e1102465f1be3715ee81377c5ca9;hp=10e319ba396de6ef8cd7a38c3b28e8f41e5e3250;hpb=cff0e9be7e6925c22dab7cb0b52ab9e23af0d56a;p=kivitendo-erp.git diff --git a/SL/DB/BackgroundJob.pm b/SL/DB/BackgroundJob.pm index 10e319ba3..1fc8d992d 100644 --- a/SL/DB/BackgroundJob.pm +++ b/SL/DB/BackgroundJob.pm @@ -11,6 +11,7 @@ use SL::DB::MetaSetup::BackgroundJob; use SL::DB::Manager::BackgroundJob; use SL::System::Process; +use SL::YAML; __PACKAGE__->meta->initialize; @@ -75,18 +76,22 @@ sub run { sub data_as_hash { my $self = shift; + + $self->data(SL::YAML::Dump($_[0])) if @_; + return {} if !$self->data; return $self->data if ref($self->{data}) eq 'HASH'; - return YAML::Load($self->{data}) if !ref($self->{data}); + return SL::YAML::Load($self->{data}) if !ref($self->{data}); return {}; } sub set_data { my ($self, %data) = @_; - my $data = YAML::Load($self->data); - $data->{$_} = $data{$_} for keys %data; - $self->data(YAML::Dump($data)); + $self->data(SL::YAML::Dump({ + %{ $self->data_as_hash }, + %data, + })); $self; }