X-Git-Url: https://git.sesse.net/?p=remoteglot;a=blobdiff_plain;f=remoteglot.pl;h=6a5778a0b96b3c321d0095b21fa92bd67d018904;hp=61e7237b1d2926b632f141dc50ef481858c41872;hb=9876a860a0ceb0d64fcf074ddecb08ac207c0aa5;hpb=d8e575cdab5390608faef42d6ef8ea428ac55310;ds=sidebyside diff --git a/remoteglot.pl b/remoteglot.pl index 61e7237..6a5778a 100755 --- a/remoteglot.pl +++ b/remoteglot.pl @@ -35,6 +35,7 @@ my $stop_pgn_fetch = 0; my $tb_retry_timer = undef; my %tb_cache = (); my $tb_lookup_running = 0; +my $last_written_json = undef; # TODO: Persist (parts of) this so that we can restart. my %clock_target_for_pos = (); @@ -760,8 +761,10 @@ sub output_json { $json->{'refutation_lines'} = \%refutation_lines; my $encoded = JSON::XS::encode_json($json); - unless ($historic_json_only || !defined($remoteglotconf::json_output)) { + unless ($historic_json_only || !defined($remoteglotconf::json_output) || + (defined($last_written_json) && $last_written_json eq $encoded)) { atomic_set_contents($remoteglotconf::json_output, $encoded); + $last_written_json = $encoded; } if (exists($pos_calculating->{'pretty_history'}) &&