Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def unique_task_enqueue(queue_name, task_url, task_params, ticker=0):
- from google.appengine.api import taskqueue
- import math
- date_now = datetime.datetime.now()
- quarter_checker = int(math.ceil(float(int(date_now.strftime('%M')) + 1) / 15))
- date_now = date_now.strftime('%Y%m%d%H')
- name_from_args = '-'.join([str(x) for x in task_params.values()])
- name = str(
- task_url + '-' +
- name_from_args + '-' +
- date_now + '-' +
- str(quarter_checker) + '-' +
- str(ticker)
- )
- name = name.encode('utf-8', 'replace')
- name = name.replace('_', '-')
- name = re.sub('[^\w-]', '-', name)
- bucket_queue = taskqueue.Queue(queue_name)
- new_task = taskqueue.Task(
- url=task_url,
- params=task_params,
- name=name,
- method='GET'
- )
- try:
- bucket_queue.add(new_task)
- except taskqueue.TaskAlreadyExistsError:
- logging.info('TasksAlreadyExistsError - ' + name)
- except taskqueue.TombstonedTaskError:
- logging.info('TombstonedTaskError - ' + name)
- if ticker < 1:
- logging.debug('--incrementing ticker')
- unique_task_enqueue(queue_name, task_url, task_params, ticker=1)
- return 'OK'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement