2015-10-26 2 views
0

Я разрабатываю приложение python (2.7), которое принимает команды реального времени и выполняет задачи (запускать другие модули приложения) по команде.Самый элегантный способ запуска параллельных задач по команде в python?

Прямо сейчас есть только один процесс, который запускается как python run.py. Итак, если какая-то задача занимает немного больше времени, скажем, 20 секунд, приложение блокируется за эти 20 секунд и не может обрабатывать команды, которые могут возникнуть до завершения процесса.

Я хочу запускать задачи по команде таким образом, чтобы они выполнялись параллельно и не блокировали последующие команды.

Что является самым элегантным способом для этого?

До сих пор я нашел subprocess.popen может использоваться для скриптов. Но я не хочу запускать задачи как команды.

+0

Один из вариантов - [сельдерей] (http://www.celeryproject.org/), который является распределенной очередью задач –

+0

Почему вы не можете использовать потоки? –

ответ

0

Я предлагаю Celery для этого. После того, как вы настроили его, его очень легко интегрировать с вашим приложением. Он запускает задачи в фоновом режиме, ограничивает использование ресурсов, если необходимо, автоматически масштабируется для запроса, если это необходимо.

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