Re-work `VersionCheck` not to use Reactive Cache

I think we are encountering some issues with VersionCheck using ReactiveCache

There are many ReactiveCache nuances that we trip into:

  1. Cache invalidation !106254 (merged)
  2. No exponential backoff
  3. Special nil handling
  4. Exception handling needs care
  5. Schedules on user visit which means the user has to wait for ReactiveCache to complete in the background before getting any result

Proposal

  1. Change VersionCheck to check periodically using a Cronjob
  2. The result can then be either stored in a database table, or Redis cache
  3. If there's an error, we can adjust the backoff as required.

/cc @tigerwnz @zcuddy @sabrams

Edited Dec 07, 2022 by Thong Kuah
Assignee Loading
Time tracking Loading