Advertisement
Guest User

Untitled

a guest
Jul 1st, 2015
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. def unique_task_enqueue(queue_name, task_url, task_params, ticker=0):
  2. from google.appengine.api import taskqueue
  3. import math
  4.  
  5. date_now = datetime.datetime.now()
  6. quarter_checker = int(math.ceil(float(int(date_now.strftime('%M')) + 1) / 15))
  7. date_now = date_now.strftime('%Y%m%d%H')
  8. name_from_args = '-'.join([str(x) for x in task_params.values()])
  9. name = str(
  10. task_url + '-' +
  11. name_from_args + '-' +
  12. date_now + '-' +
  13. str(quarter_checker) + '-' +
  14. str(ticker)
  15. )
  16. name = name.encode('utf-8', 'replace')
  17. name = name.replace('_', '-')
  18. name = re.sub('[^\w-]', '-', name)
  19.  
  20. bucket_queue = taskqueue.Queue(queue_name)
  21. new_task = taskqueue.Task(
  22. url=task_url,
  23. params=task_params,
  24. name=name,
  25. method='GET'
  26. )
  27. try:
  28. bucket_queue.add(new_task)
  29.  
  30. except taskqueue.TaskAlreadyExistsError:
  31. logging.info('TasksAlreadyExistsError - ' + name)
  32.  
  33. except taskqueue.TombstonedTaskError:
  34. logging.info('TombstonedTaskError - ' + name)
  35. if ticker < 1:
  36. logging.debug('--incrementing ticker')
  37. unique_task_enqueue(queue_name, task_url, task_params, ticker=1)
  38.  
  39. return 'OK'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement