15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/core/models/sequence.rb', line 15
def self.process_all(sleep=60)
loop do
actions = where("'#{Time.now.utc}' > execution_time or execution_time is null").includes(:user).order(:execution_time)
actions.each do |action|
if action.user.last_usage > Kogno::Application.config.sequences.time_elapsed_after_last_usage
Kogno::Context.run_sequence(action)
else
logger.write "User ID #{action.user.psid} wrote us recently, let's wait #{Kogno::Application.config.sequences.time_elapsed_after_last_usage - action.user.last_usage} seconds before bother him.", :green
end
end
sleep(sleep)
end
end
|