From 3637d5fc5df608780e2c9f0af551c8011f2545e7 Mon Sep 17 00:00:00 2001 From: uralm1 Date: Thu, 27 Jan 2022 15:42:48 +0500 Subject: [PATCH] Again enable workaround for utf-8 mysql minion backend bug --- lib/Adup/Task/Merge.pm | 3 ++- lib/Adup/Task/Preprocess.pm | 6 ++++-- lib/Adup/Task/Zupprocess.pm | 4 +++- lib/Adup/Ural/SyncAttributesCreateMoveUsers.pm | 3 ++- lib/Adup/Ural/SyncCreateFlatGroups.pm | 3 ++- lib/Adup/Ural/SyncCreateOUs.pm | 3 ++- lib/Adup/Ural/SyncDeleteFlatGroups.pm | 3 ++- lib/Adup/Ural/SyncDeleteOUs.pm | 3 ++- lib/Adup/Ural/SyncDeleteUsers.pm | 3 ++- lib/Adup/Ural/SyncDisableDismissed.pm | 6 ++++-- 10 files changed, 25 insertions(+), 12 deletions(-) diff --git a/lib/Adup/Task/Merge.pm b/lib/Adup/Task/Merge.pm index fdcc558..8bb94c6 100644 --- a/lib/Adup/Task/Merge.pm +++ b/lib/Adup/Task/Merge.pm @@ -128,7 +128,8 @@ sub _merge { my $percent = ceil($changes_count / $changes_total * 100); $job->note( progress => $percent, - info => "$percent% Выполняется изменение-$seq_el->{desc}", + # mysql minion backend bug workaround + info => encode_utf8("$percent% Выполняется изменение-$seq_el->{desc}"), ); } } diff --git a/lib/Adup/Task/Preprocess.pm b/lib/Adup/Task/Preprocess.pm index 0a32ab4..d2b1713 100644 --- a/lib/Adup/Task/Preprocess.pm +++ b/lib/Adup/Task/Preprocess.pm @@ -144,7 +144,8 @@ sub _process_dbf { my $percent = ceil($_ / $last_record * 100); $job->note( progress => $percent, - info => "$percent% Обработка перечня сотрудников", + # mysql minion backend bug workaround + info => encode_utf8("$percent% Обработка перечня сотрудников"), ); } } @@ -172,7 +173,8 @@ sub _process_dbf { $job->note( progress => 100, - info => 'Выполняется разбор оргструктуры подразделений', + # mysql minion backend bug workaround + info => encode_utf8('Выполняется разбор оргструктуры подразделений'), ); # diff --git a/lib/Adup/Task/Zupprocess.pm b/lib/Adup/Task/Zupprocess.pm index a93447c..a1ece30 100644 --- a/lib/Adup/Task/Zupprocess.pm +++ b/lib/Adup/Task/Zupprocess.pm @@ -3,6 +3,7 @@ use Mojo::Base 'Mojolicious::Plugin'; use Carp; use POSIX qw(ceil); +use Encode qw(encode_utf8); #use Data::Dumper; use Adup::Ural::Dblog; @@ -37,7 +38,8 @@ sub _load_zup { my $loader = eval { Adup::Ural::ZupLoader->new($app, $db_adup, - sub { $job->note(progress => shift, info => shift) } + # mysql minion backend bug workaround + sub { $job->note(progress => shift, info => encode_utf8(shift)) } ) }; if ($@) { diff --git a/lib/Adup/Ural/SyncAttributesCreateMoveUsers.pm b/lib/Adup/Ural/SyncAttributesCreateMoveUsers.pm index 3487877..8e81057 100644 --- a/lib/Adup/Ural/SyncAttributesCreateMoveUsers.pm +++ b/lib/Adup/Ural/SyncAttributesCreateMoveUsers.pm @@ -230,7 +230,8 @@ sub do_sync { my $percent = ceil(($args{pos} + $line_count / $lines_total) * $args{job}->app->percent_sync_task); $args{job}->note( progress => $percent, - info => "$percent% Синхронизация пользователей, изменений аттрибутов", + # mysql minion backend bug workaround + info => encode_utf8("$percent% Синхронизация пользователей, изменений аттрибутов"), ); } } diff --git a/lib/Adup/Ural/SyncCreateFlatGroups.pm b/lib/Adup/Ural/SyncCreateFlatGroups.pm index aa9e9a2..252e66b 100644 --- a/lib/Adup/Ural/SyncCreateFlatGroups.pm +++ b/lib/Adup/Ural/SyncCreateFlatGroups.pm @@ -111,7 +111,8 @@ sub do_sync { my $percent = ceil(($args{pos} + $line_count / $lines_total) * $args{job}->app->percent_sync_task); $args{job}->note( progress => $percent, - info => "$percent% Синхронизация групп почтового справочника", + # mysql minion backend bug workaround + info => encode_utf8("$percent% Синхронизация групп почтового справочника"), ); } } diff --git a/lib/Adup/Ural/SyncCreateOUs.pm b/lib/Adup/Ural/SyncCreateOUs.pm index 18bcfcd..39ef915 100644 --- a/lib/Adup/Ural/SyncCreateOUs.pm +++ b/lib/Adup/Ural/SyncCreateOUs.pm @@ -123,7 +123,8 @@ sub do_sync { my $percent = ceil(($args{pos} + $line_count / $lines_total) * $args{job}->app->percent_sync_task); $args{job}->note( progress => $percent, - info => "$percent% Синхронизация подразделений", + # mysql minion backend bug workaround + info => encode_utf8("$percent% Синхронизация подразделений"), ); } } diff --git a/lib/Adup/Ural/SyncDeleteFlatGroups.pm b/lib/Adup/Ural/SyncDeleteFlatGroups.pm index fd86182..710a74f 100644 --- a/lib/Adup/Ural/SyncDeleteFlatGroups.pm +++ b/lib/Adup/Ural/SyncDeleteFlatGroups.pm @@ -169,7 +169,8 @@ sub do_sync { my $percent = ceil(($args{pos} + $entry_count / $entries_total) * $args{job}->app->percent_sync_task); $args{job}->note( progress => $percent, - info => "$percent% Завершающая синхронизация групп почтового справочника", + # mysql minion backend bug workaround + info => encode_utf8("$percent% Завершающая синхронизация групп почтового справочника"), ); } } # entries loop diff --git a/lib/Adup/Ural/SyncDeleteOUs.pm b/lib/Adup/Ural/SyncDeleteOUs.pm index d1d1404..295b9af 100644 --- a/lib/Adup/Ural/SyncDeleteOUs.pm +++ b/lib/Adup/Ural/SyncDeleteOUs.pm @@ -180,7 +180,8 @@ ENTRYLOOP: my $percent = ceil(($args{pos} + $entry_count / $entries_total) * $args{job}->app->percent_sync_task); $args{job}->note( progress => $percent, - info => "$percent% Завершающая синхронизация подразделений", + # mysql minion backend bug workaround + info => encode_utf8("$percent% Завершающая синхронизация подразделений"), ); } diff --git a/lib/Adup/Ural/SyncDeleteUsers.pm b/lib/Adup/Ural/SyncDeleteUsers.pm index e07f3a6..2f5ba7d 100644 --- a/lib/Adup/Ural/SyncDeleteUsers.pm +++ b/lib/Adup/Ural/SyncDeleteUsers.pm @@ -129,7 +129,8 @@ sub do_sync { my $percent = ceil(($args{pos} + $entry_count / $entries_total) * $args{job}->app->percent_sync_task); $args{job}->note( progress => $percent, - info => "$percent% Завершающая синхронизация уволенных пользователей", + # mysql minion backend bug workaround + info => encode_utf8("$percent% Завершающая синхронизация уволенных пользователей"), ); } } diff --git a/lib/Adup/Ural/SyncDisableDismissed.pm b/lib/Adup/Ural/SyncDisableDismissed.pm index f8aa7ed..3a528ca 100644 --- a/lib/Adup/Ural/SyncDisableDismissed.pm +++ b/lib/Adup/Ural/SyncDisableDismissed.pm @@ -30,7 +30,8 @@ sub do_sync { my $percent = ceil($args{pos} * $args{job}->app->percent_sync_task); $args{job}->note( progress => $percent, - info => "$percent% $pmsg", + # mysql minion backend bug workaround + info => encode_utf8("$percent% $pmsg"), ); # @@ -98,7 +99,8 @@ sub do_sync { $percent = int(($args{pos} + 1) * $args{job}->app->percent_sync_task); $args{job}->note( progress => $percent, - info => "$percent% $pmsg", + # mysql minion backend bug workaround + info => encode_utf8("$percent% $pmsg"), ); $args{log}->l(info => "Проверка блокирования архивных учётных записей. Создано $delete_changes_count изменений блокирования архивных учётных записей.");