Skip to content

Commit 4032d9e

Browse files
committed
visualize current queue
1 parent 3033349 commit 4032d9e

File tree

3 files changed

+23
-3
lines changed

3 files changed

+23
-3
lines changed

app/controllers/basil_controller.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ def content
203203
@in_progress_commissions = @commissions.select { |c| c.completed_at.nil? }
204204
@generated_images_count = current_user.basil_commissions.with_deleted.count
205205

206-
@can_request_another = @in_progress_commissions.count < 3
206+
@can_request_another = @in_progress_commissions.count < BasilService::MAX_JOB_QUEUE_SIZE
207207
end
208208

209209
def character
@@ -228,7 +228,7 @@ def character
228228
.limit(20)
229229
.includes(:basil_feedbacks)
230230
@in_progress_commissions = BasilCommission.where(entity_type: 'Character', entity_id: @character.id, completed_at: nil)
231-
@can_request_another = @in_progress_commissions.count < 3
231+
@can_request_another = @in_progress_commissions.count < BasilService::MAX_JOB_QUEUE_SIZE
232232
end
233233

234234
def about
@@ -411,6 +411,8 @@ def review
411411

412412
@commissions_per_user_id = BasilCommission.with_deleted.where('created_at > ?', 48.hours.ago).group(:user_id).order('count_all DESC').limit(5).count
413413
@unique_users_generating_count = BasilCommission.with_deleted.where('created_at > ?', 48.hours.ago).group(:user_id).count
414+
415+
@current_queue_items = BasilCommission.where(completed_at: nil).order('created_at ASC')
414416
end
415417

416418
def commission
@@ -420,6 +422,12 @@ def commission
420422
return
421423
end
422424

425+
current_queue_size = current_user.basil_commissions.where(completed_at: nil).count
426+
if current_queue_size >= BasilService::MAX_JOB_QUEUE_SIZE
427+
redirect_back fallback_location: basil_path, notice: "You can only have #{BasilService::MAX_JOB_QUEUE_SIZE} commissions in progress at a time. Please wait for one to complete before requesting another."
428+
return
429+
end
430+
423431
# Fetch the related content
424432
@content = @current_user_content[commission_params.fetch(:entity_type)]
425433
.find { |c| c.id == commission_params.fetch(:entity_id).to_i }

app/services/basil_service.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
class BasilService < Service
2-
FREE_IMAGE_LIMIT = 100
2+
FREE_IMAGE_LIMIT = 100
3+
MAX_JOB_QUEUE_SIZE = 3
34

45
IGNORED_VALUES = ['', 'none', 'n/a', '.', '-', ' ', '?', '??', '???', 'x', nil]
56

app/views/basil/review.html.erb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,17 @@
1313
<div>
1414
<%= pluralize @unique_users_generating_count.count, 'unique user' %> over 48h
1515
</div>
16+
17+
<br /><br />
18+
<div><strong>Queue</strong></div>
19+
<ol>
20+
<% @current_queue_items.each do |commission| %>
21+
<li>
22+
<%= commission.entity_type %>-<%= commission.entity_id %> (<%= commission.style %>)
23+
for U-<%= commission.user_id %>
24+
</li>
25+
<% end %>
26+
</ol>
1627
</div>
1728
<div class="col s9">
1829
<% @recent_commissions.each do |commission| %>

0 commit comments

Comments
 (0)