2014-01-13 2 views
0

В моем проекте django мне нужно собрать данные из примерно 50 удаленных серверов в локальную базу данных или каждые 30 секунд. Хотя он работает с crontab на удаленных серверах, я хочу сделать это в проекте. Во-первых, я рассматриваю джанго-сельдерей. Однако он отлично справляется с асинхронной обработкой, и задача сбора данных не может быть отложена. Поэтому я думаю, что это может быть неподходящим. Как, если я делаю это, используйте таймер для python и что нужно, чтобы я уделял больше внимания. Извините за мое незнание питона и джанго. Буду признателен за другие советы или идеи. Огромное спасибоКак планировать свою задачу в django

+5

Возможно, это поможет http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html? –

+0

Если данные собираются аккуратно, я хочу, чтобы данные могли быть возвращены за одну минуту от начала задачи. Конечно, задачу можно было бы закончить за одну минуту. И я беспокоюсь о задержке сельдерея для его асинхронной обработки. – user237610

+0

если я понимаю, что вы правы, у вас есть ограничение времени на выполнение задачи или нет? –

ответ

0

В принципе вы можете использовать периодические задания Сельдерея с опцией expire, что гарантирует, что ваши задания не будут выполняться дважды.

Также вы можете запустить свой собственный скрипт с бесконечным циклом, который будет запускать расчет. Если ваши расчеты пройдут более минуты, вы можете создавать свои задачи с помощью eventlet или gevent. Другой вариант, который вы могли бы использовать для задания сельдерея из этого сценария и быть уверенным, что ваши задачи выполняются каждые N секунд, как вы предпочитаете.

Смежные вопросы