Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def sleep_if_finished_before(total_duration = 1)
- start_time = Time.now
- yield
- end_time = Time.now
- time_spent = end_time - start_time
- time_to_sleep = total_duration - time_spent
- if time_to_sleep.positive?
- Rails.logger.info("Task finished in #{time_spent}. Sleeping for #{time_to_sleep}.")
- sleep(time_to_sleep)
- else
- Rails.logger.info("Task finished in #{time_spent}. Not sleeping.")
- end
- end
- sleep_if_finished_before(0.2) do
- do_some_operation(some_params)
- end
- def do_some_operation(params)
- #..
- #..
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement