Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.52 KB | None | 0 0
  1. def sleep_if_finished_before(total_duration = 1)
  2. start_time = Time.now
  3. yield
  4. end_time = Time.now
  5. time_spent = end_time - start_time
  6. time_to_sleep = total_duration - time_spent
  7. if time_to_sleep.positive?
  8. Rails.logger.info("Task finished in #{time_spent}. Sleeping for #{time_to_sleep}.")
  9. sleep(time_to_sleep)
  10. else
  11. Rails.logger.info("Task finished in #{time_spent}. Not sleeping.")
  12. end
  13. end
  14.  
  15.  
  16. sleep_if_finished_before(0.2) do
  17. do_some_operation(some_params)
  18. end
  19.  
  20. def do_some_operation(params)
  21. #..
  22. #..
  23. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement