Observation jobs are never updated (e.g. for newer TLEs)

via IRC:

  • The behaviour changed in this commit 910761d4 as you can see in 910761d4 for obj in response.json(): it was looping over all the jobs received from network and with the replace_existing=True in SCHEDULER.add_job it was replacing all the parameters of a job, this includes TLE and Transmitter details if I'm not wrong (not fully checked the code). On the change 910761d4 for observation_id in new_job_ids: it loops only over the new scheduled observations as they are filtered in new_job_ids = set(latest_jobs) - set(existing_jobs) at 910761d4"

TLE update for already scheduled observation was accidentally removed (by me, in 910761d) from satnogs-client with version 1.9.

Proposed solution

  • For already scheduled jobs, compare values in selected kwargs['obj'] fields against the values received from network, specifically (tle0, tle1, tle2, end, baud, frequency, mode). On change, re-schedule.
  • Changed values in start might require special treatment (to be checked)