Задачи Cron, Очередь задач или отложенные задачи?

В Google App Engine для такой задачи, как сканирование некоторых RSS-каналов и добавление новых записей из фида в хранилище данных каждые 10-15 секунд, следует использовать Cron Jobs, Очередь задач или Отложенные задачи? Я действительно смущен.

2 ответа

Запускайте задание cron каждые 1 минуту, чтобы получить RSS и спать в течение 15 секунд четыре раза. Вы можете блокировать, чтобы предотвратить перекрытие (хотя вставка базы данных обеспечивает некоторую меру управления concurrency).

Питоподобный псевдокод:

if cant_get_lock:
 exit
else:
for i in (1,2,3,4):
 get RSS
 sleep 15 seconds


  • Я думаю, если это произойдет каждые 15 секунд (не пропуская), чем я хотел бы работать cron потому что это проще всего воплощать в жизнь. Но если вам нужно быть в состоянии отменить задачу, тогда вы должны использовать задачу очереди.
  • BTW вы должны использовать PubSubHubbub (hubbub) для получать обновления для каналов в в реальном времени, если я пойму тебя правильно.

licensed under cc by-sa 3.0 with attribution.