diff --git a/eprints1.pl b/eprints1.pl index f5e8c43f6e8f9f4a89007cd6d3ab3709771b6d7b..2e32e7634b473e1dc4ca7a37979be77bfad1ae13 100755 --- a/eprints1.pl +++ b/eprints1.pl @@ -118,7 +118,7 @@ my $op_mode= 'unknown'; my $ot2ut_context= 'ot2ut-test'; # TODO: parametrize # my $ot2ut_context= 'ot2ut-prod'; # TODO: parametrize my $oma_sleep_time= 10; -my $MAX_BLOCK= 680; +my $MAX_BLOCK= 690; my %map_ot2ut_roles= ( @@ -610,6 +610,8 @@ if ($die_nbn_already_defined) print "ATTN: die_nbn_already_defined=[$die_nbn_already_defined]\n"; } +activity({ activity => 'exiting' }); + exit(0); =head1 CONVENIENCE FUNCTIONS @@ -2718,7 +2720,7 @@ sub oma $col_req->update({ _id => $row->{_id}}, { '$set' => { status => 'in_progress', ts_start => Util::ts::ts_ISO_gmt() }}); my $msg= "send_block: sending objects of block $block to $ot2ut_context"; - activity({ activity => 'send_batch', msg => $msg}); + activity({ activity => 'send_block', msg => $msg}); send_message($msg); my ($synced, $res)= ot2ut('block' => $block); @@ -2779,6 +2781,8 @@ sub activity unless (defined ($col_activity)) { + $db_ot2ut= IRMA::db::get_any_db($cnf, 'ot2ut_database') unless (defined ($db_ot2ut)); + $col_activity= $db_ot2ut->get_collection('activity'); print __LINE__, " starting activity\n"; } @@ -2787,6 +2791,7 @@ sub activity $data->{agent}= 'oma' unless (exists($data->{agent})); $data->{e}= time() unless (exists($data->{e})); $data->{ts_gmt}= Util::ts::ts_ISO_gmt() unless (exists($data->{ts_gmt})); + $data->{ts}= Util::ts::ts() unless (exists($data->{ts})); $col_activity->update( { agent => 'oma' }, $data, { upsert => 1 } ); $last_activity= time(); @@ -2881,7 +2886,7 @@ sub ot2ut send_message("ot2ut pause ended"); } - activity({ activity => 'ot2ut', eprint_id => $eprint_id }) if ($last_activity + $activity_period <= time()); + activity({ activity => 'ot2ut', msg => "processing $eprint_id" }); # CHECK if ($last_activity + $activity_period <= time()); my $t_start= time(); @@ -4609,6 +4614,8 @@ sub update_policies my $epr= get_eprints_db($cnf); # print "epr: ", Dumper ($epr); + activity({ activity => 'update_policies' }); + my $epr_db= $epr->connect(); # print "epr_db: ", Dumper ($epr_db); @@ -4753,6 +4760,7 @@ sub policies_stats %doc_embargo_dates= (); # global variable, clear hash from data from previous runs $db_ot2ut= IRMA::db::get_any_db($cnf, 'ot2ut_database') unless (defined ($db_ot2ut)); + activity({ activity => 'policies_stats' }); # prepare: get info from sync database my $col_sync= $db_ot2ut->get_collection('sync'); @@ -5138,6 +5146,7 @@ EOX my %incomplete_blocks= (); + my $col_blk= $db_ot2ut->get_collection('blocks'); for (my $metablock_nr= 0; $metablock_nr <= $#metablocks; $metablock_nr++) { my $mb_othes= $metablocks[$metablock_nr]->{othes}->{cnt_total}; @@ -5147,16 +5156,24 @@ EOX print IDX "<tr>\n <td><a href=\"$mb_html\" target=\"metablocks\">", $metablock_nr, " (${metablock_nr}xxyy)</a></td>\n <td>", $mb_othes, "</td>\n"; + $col_blk->update({ nr => $metablock_nr, level => 1, context => 'othes' }, + { nr => $metablock_nr, level => 1, context => 'othes', count_ok => $mb_othes, count_errors => 0 }, + { upsert => 1 }); + foreach my $context (qw(entw test prod)) { - my $c= $metablocks[$metablock_nr]->{$context}->{cnt_ok}; - my $e= $metablocks[$metablock_nr]->{$context}->{cnt_error}; + my $c= $metablocks[$metablock_nr]->{$context}->{cnt_ok} || 0; + my $e= $metablocks[$metablock_nr]->{$context}->{cnt_error} || 0; my $pct= $c*100.0/$mb_othes; my $ck1= ($pct == 100.0) ? 'lightgreen' : 'lightblue'; my $ck2= ($e == 0) ? 'lightgreen' : 'lightpink'; printf IDX (" <td bgcolor=\"$ck1\">%d</td><td bgcolor=\"$ck1\">%7.4f %%</td><td bgcolor=\"$ck2\">%d</td>\n", $c, $pct, $e); + + $col_blk->update({ nr => $metablock_nr, level => 1, context => $context }, + { nr => $metablock_nr, level => 1, context => $context, count_ok => $c, count_errors => $e }, + { upsert => 1 }); } print IDX "</tr>\n"; @@ -5203,10 +5220,14 @@ EOX my $b_othes= $block->{othes}->{cnt_total}; print MB "<tr>\n <td><a href=\"$b_html\" target=\"blocks\">", $block_nr, " (${block_nr}yy)</a></td>\n <td>", $b_othes, "</td>\n"; + $col_blk->update({ nr => $block_nr, level => 0, context => 'othes' }, + { nr => $block_nr, level => 0, context => 'othes', count_ok => $b_othes, count_errors => 0 }, + { upsert => 1 }); + foreach my $context (qw(entw test prod)) { - my $c= $block->{$context}->{cnt_ok}; - my $e= $block->{$context}->{cnt_error}; + my $c= $block->{$context}->{cnt_ok} || 0; + my $e= $block->{$context}->{cnt_error} || 0; my $pct= $c*100.0/$b_othes; my $ck2= ($e == 0) ? 'lightgreen' : 'pink'; my $ck1; @@ -5226,6 +5247,10 @@ EOX } printf MB (" <td bgcolor=\"$ck1\">%d</td><td bgcolor=\"$ck1\">%7.4f %%</td><td bgcolor=\"$ck2\">%d</td>\n", $c, $pct, $e); + + $col_blk->update({ nr => $block_nr, level => 0, context => $context }, + { nr => $block_nr, level => 0, context => $context, count_ok => $c, count_errors => $e }, + { upsert => 1 }); } print MB "</tr>\n";