1. def sort_requests(requests):
  2. """Sorts a list of HTTP request records by scheduled run time."""
  3. # Check if the input is valid
  4. if not isinstance(requests, list):
  5. raise TypeError("Input must be a list.")
  6. if not all(isinstance(req, dict) for req in requests):
  7. raise TypeError("Each element in the list must be a dictionary.")
  8. if not all('scheduled_run' in req for req in requests):
  9. raise ValueError("Each request dictionary must have a 'scheduled_run' key.")
  10. # Sort the requests based on the 'scheduled_run' value.
  11. # We assume 'scheduled_run' is a comparable value (e.g., timestamp).
  12. sorted_requests = sorted(requests, key=lambda req: req['scheduled_run'])
  13. return sorted_requests
  14. if __name__ == '__main__':
  15. # Example Usage
  16. requests = [
  17. {'url': 'https://example.com/api/data', 'scheduled_run': 1678886400}, # Example timestamp
  18. {'url': 'https://example.com/api/users', 'scheduled_run': 1678972800},
  19. {'url': 'https://example.com/api/products', 'scheduled_run': 1678800000}
  20. ]
  21. sorted_requests = sort_requests(requests)
  22. # Print the sorted requests
  23. for req in sorted_requests:
  24. print(req)

Add your comment