Class: TasksScheduler::Info

Inherits:
Object
  • Object
show all
Defined in:
lib/tasks_scheduler/info.rb

Constant Summary collapse

TASKS_LIMIT_KEY =
'TASKS_SCHEDULER_TASKS_LIMIT'
TASKS_LIMIT_DEFAULT_VALUE =
-1

Class Method Summary collapse

Class Method Details

.can_run_new_task?Boolean

Returns:

  • (Boolean)


9
10
11
12
13
# File 'lib/tasks_scheduler/info.rb', line 9

def can_run_new_task?
  return true if tasks_running_limit.negative?

  tasks_running_current < tasks_running_limit
end

.tasks_running_currentObject



15
16
17
# File 'lib/tasks_scheduler/info.rb', line 15

def tasks_running_current
  ::ScheduledTask.all.select(&:process_running?).count
end

.tasks_running_limitObject



19
20
21
# File 'lib/tasks_scheduler/info.rb', line 19

def tasks_running_limit
  ENV[TASKS_LIMIT_KEY].if_present(TASKS_LIMIT_DEFAULT_VALUE).to_i
end