With an iterator yielding task args, kwargs tuples, evenly distribute the processing of its tasks throughout the time window available.
| Parameters: | 
 | 
|---|
Example
>>> class RefreshAllFeeds(Task):
...
...     def run(self, **kwargs):
...         feeds = Feed.objects.all()
...         total = feeds.count()
...
...         time_window = REFRESH_FEEDS_EVERY_INTERVAL_MINUTES
...
...         def iter_feed_task_args(iterable):
...             for feed in iterable:
...                 yield ([feed.feed_url], {}) # args, kwargs tuple
...
...         it = iter_feed_task_args(feeds.iterator())
...
...         even_time_distribution(RefreshFeedTask, total,
...                                time_window, it)