मुझे ftp के माध्यम से एक फ़ाइल डाउनलोड करने, इसे बदलने और इसे वापस अपलोड करने की आवश्यकता है। मैं अजवाइन उपयोग कर रहा हूँ यह करने के लिए, लेकिन जब श्रृंखलन का उपयोग करने की कोशिश कर मैं समस्याओं में चला रहा हूँ, मैं जहां हो रही है:सेलेरी चेनिंग कार्यों क्रमशः
TypeError: upload_ftp_image() takes exactly 5 arguments (6 given)
इसके अलावा, मैं चेन उपयोग कर सकते हैं और आश्वस्त रहें कि चरणों अनुक्रमिक हो जाएगा? यदि विकल्प नहीं है तो क्या विकल्प है?
res = chain(download_ftp_image.s(server, username , password, "/test_app_2/model.dae" ,"tmp/test_app_2/"), upload_ftp_image.s(server, username , password, "tmp/test_app_2/model.dae" ,"tmp/test_app_2/")).apply_async()
print res.get()
कार्य:
@task()
def download_ftp_image(ftp_server, username , password , filename, directory):
try:
ftp = FTP(ftp_server)
ftp.login(username, password)
if not os.path.exists(directory):
os.makedirs(directory)
ftp.retrbinary("RETR /default_app/model.dae" , open(directory + 'model.dae', 'wb').write)
else:
ftp.retrbinary("RETR /default_app/model.dae" , open(directory + 'model.dae', 'wb').write)
ftp.quit()
except error_perm, resp:
raise download_ftp_image.retry(countdown=15)
return "SUCCESS: "
@task()
def upload_ftp_image(ftp_server, username , password , file , directory):
try:
ftp = FTP(ftp_server)
ftp.login(username, password)
new_file= file.replace(directory, "")
directory = directory.replace("tmp","")
try:
ftp.storbinary("STOR " + directory + new_file , open(file, "rb"))
except:
ftp.mkd(directory)
ftp.storbinary("STOR " + directory + new_file, open(file, "rb"))
ftp.quit()
except error_perm, resp:
raise upload_ftp_image.retry(countdown=15)
return "SUCCESS: "
और यह एक अच्छा या मेरे विशेष मामले के लिए एक बुरी बात है? :
result = download_ftp_image.apply_async((server, username , password, "/test_app_2/model.dae" ,"tmp/test_app_2/",), queue='rep_data')
result.get()
result = upload_ftp_image.apply_async((server, username , password, "tmp/test_app_2/model.dae" ,"tmp/test_app_2/",), queue='rep_data')
#result.get()
मुझे तब यह कैसे करना चाहिए? – psychok7
@ psychok7: थोड़ा विस्तारित। –
ऐसा लगता है कि मुझे यह काम मिल रहा है :) .. धन्यवाद – psychok7