2015-11-03 2 views
0

Я довольно новичок в питоне и сельдере. Мои задания очень тяжелые IO ограничены, нужно делать http-запросы, запрашивать redshift, mysql и записывать в mysql. Мы думаем использовать сельдерей для постоянного запуска рабочих мест, но я думаю, что если это возможно сделать параллелизм в моей задаче сельдерея. В основном это похоже на то, что каждая задача может пакетно обрабатывать набор данных, асинхронно совершая вызовы. Я пытался использовать торнадо gen.coroutine, но не с сельдереем без ясной причины. Будет ли gevent или eventlet быть хорошим? может кто-нибудь, пожалуйста, дайте какое-нибудь предложение? Я очень ценю это, спасибо!Валюта в задании сельдерея

ответ

-1

Похоже, вы хотите создать несколько небольших задач по сельдерее и использовать Chord, чтобы связать их вместе.

Edit: Поскольку кто-то, кажется, не думаю, что ссылки на официальную документацию достаточно хорошо (только причина downvote я могу думать) я вставить код из документации здесь:

@app.task 
def add(x, y): 
    return x + y 

@app.task 
def tsum(numbers): 
    return sum(numbers) 


>>> from celery import chord 
>>> from tasks import add, tsum 

>>> chord(add.s(i, i) 
...  for i in xrange(100))(tsum.s()).get() 
9900 


>>> callback = tsum.s() 
>>> header = [add.s(i, i) for i in range(100)] 
>>> result = chord(header)(callback) 
>>> result.get() 
9900 
Смежные вопросы