2015-12-01 2 views
1

Каждая минута задание cron добавляет около 6 задач к моей очереди по умолчанию. Для выполнения каждой задачи требуется около 3 секунд.Паузы между задачами Google App Engine

Я хотел бы, чтобы предметы обрабатывались один за другим без какой-либо паузы между ними. Тем не менее, App Engine может подождать минутку между вызовом задачи. Я хочу, чтобы только одна задача выполнялась одновременно.

Как я могу предотвратить этот пробел?

Мой файл queue.yaml выглядит следующим образом:

queue: 
- name: default 
    rate: 10/s 
    max_concurrent_requests: 1 
    bucket_size: 100 
    retry_parameters: 
    task_age_limit: 2m 

ответ

1

Вместо добавления всех задач одновременно и опираясь на очереди, чтобы запланировать их последовательно, вы можете задачи цепочки вместе, вызвав Task.add() внутри самой задачи чтобы добавить следующий, как только это будет сделано. Возможно, вам придется расслабиться «max_concurrent_requests», чтобы позволить нескольким задачам выполнять учетную запись для перекрытия.