1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-08-02 20:15:22 +02:00

Adjust queues to prioritize account syncs (#1682)

This commit is contained in:
Zach Gollwitzer 2025-01-24 13:39:08 -05:00 committed by GitHub
parent 7d04ea1071
commit 3140835f28
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 37 additions and 12 deletions

View file

@ -1,5 +1,5 @@
class AutoUpgradeJob < ApplicationJob
queue_as :default
queue_as :latency_low
def perform(*args)
raise_if_disabled

View file

@ -1,5 +1,5 @@
class DestroyJob < ApplicationJob
queue_as :default
queue_as :latency_low
def perform(model)
model.destroy

View file

@ -1,5 +1,5 @@
class EnrichDataJob < ApplicationJob
queue_as :default
queue_as :latency_high
def perform(account)
account.enrich_data

View file

@ -1,5 +1,5 @@
class FetchSecurityInfoJob < ApplicationJob
queue_as :default
queue_as :latency_low
def perform(security_id)
return unless Security.security_info_provider.present?

View file

@ -1,5 +1,5 @@
class ImportJob < ApplicationJob
queue_as :default
queue_as :latency_medium
def perform(import)
import.publish

View file

@ -1,5 +1,5 @@
class SyncJob < ApplicationJob
queue_as :default
queue_as :latency_medium
def perform(sync)
sync.perform

View file

@ -1,5 +1,5 @@
class UserPurgeJob < ApplicationJob
queue_as :default
queue_as :latency_low
def perform(user)
user.purge

View file

@ -37,6 +37,14 @@ class TimeSeries
series: self
end
def empty?
values.empty?
end
def has_current_day_value?
values.any? { |v| v.date == Date.current }
end
# `as_json` returns the data shape used by D3 charts
def as_json
{

View file

@ -17,15 +17,19 @@
</div>
<div class="h-64">
<% if series %>
<% if series.has_current_day_value? %>
<div
id="lineChart"
class="w-full h-full"
data-controller="time-series-chart"
data-time-series-chart-data-value="<%= series.to_json %>"></div>
<% elsif series.empty? %>
<div class="w-full h-full flex items-center justify-center">
<p class="text-gray-500 text-sm">No data available for the selected period.</p>
</div>
<% else %>
<div class="w-full h-full flex items-center justify-center">
<p class="text-gray-500">No data available for the selected period.</p>
<p class="text-gray-500 text-sm animate-pulse">Calculating latest balance data...</p>
</div>
<% end %>
</div>

View file

@ -1,12 +1,16 @@
<%# locals: (series:) %>
<% if series %>
<% if series.has_current_day_value? %>
<div
id="netWorthChart"
class="w-full flex-1 min-h-52"
data-controller="time-series-chart"
data-time-series-chart-data-value="<%= series.to_json %>"></div>
<% elsif series.empty? %>
<div class="w-full h-full flex items-center justify-center">
<p class="text-gray-500 text-sm">No data available for the selected period.</p>
</div>
<% else %>
<div class="w-full h-full flex items-center justify-center">
<p class="text-gray-500">No data available for the selected period.</p>
<p class="text-gray-500 text-sm animate-pulse">Calculating latest balance data...</p>
</div>
<% end %>