Here's the fun way!
Figure out a way to represent the sequence of hours you need it to run... n0 = 6, n1 = n0 + 1, n2 = n1 + 1, n3 = n2 + 1, n4 = n3 + 1, n5 = n4 + 3, n6 = n5 + 4
Have a cron job start it off at 6am... Then have the code set a taskqueue to call itself.. Setting k = k+1 as a parameter each time until it gets to k = 6.
I think u could use a = 1 + floor(k/5)*(k-3)
So.. You'd have:
n[0] = 6 and n[k] = k + a
Which.. if you start at 6AM, will then run at 7,8,9,10,13,17
Thus.. At the end of the k-th run.. You just fire off a taskqueu to call the url again with delay = a and params = {'k' : k+1}
When the task url is sent the put request.. it checks if k<6 or whatever.. if it is.. then the rest of the task runs.
kind of cheesy.. but fun to think about. :)