आपको एक नोड में बोरकर होना चाहिए और इसे कॉन्फ़िगर करना चाहिए ताकि अन्य नोड्स के कर्मचारी इसे एक्सेस कर सकें।
इसके लिए, आप rabbitmq पर एक नया उपयोगकर्ता/vhost बना सकते हैं।
# add new user
sudo rabbitmqctl add_user <user> <password>
# add new virtual host
sudo rabbitmqctl add_vhost <vhost_name>
# set permissions for user on vhost
sudo rabbitmqctl set_permissions -p <vhost_name> <user> ".*" ".*" ".*"
# restart rabbit
sudo rabbitmqctl restart
अन्य नोड से, आप कार्यों को कतार सकते हैं या आप बस कार्यों का उपभोग करने के कार्यकर्ताओं चला सकते हैं।
from celery import Celery
app = Celery('tasks', backend='amqp',
broker='amqp://<user>:<password>@<ip>/<vhost>')
def add(x, y):
return x + y
आप एक फ़ाइल (जैसे कि task.py
) इस तरह है, तो आप ऊपर कार्यों add.delay का उपयोग कर सकते हैं क़तार()।
तुम भी
celery worker -A task -l info
साथ कार्यकर्ता शुरू कर सकते हैं तुम मेरे इस सवाल का जवाब यहाँ देख कैसे run tasks on remote machines बारे में एक संक्षिप्त विचार प्राप्त कर सकते हैं। चरण-दर-चरण प्रक्रिया के लिए, आप एक पोस्ट चेकआउट कर सकते हैं जिसे मैंने on scaling celery लिखा है।
चिलारअनंद के समाधान को आपके लिए हल किया जाना चाहिए था। स्पष्टीकरण के लिए आपको कुछ और चाहिए? –