tôi cần tải xuống tệp qua ftp, thay đổi tệp và tải tệp lên. Tôi đang sử dụng cần tây để làm điều này nhưng tôi đang chạy vào vấn đề khi cố gắng sử dụng chaining, nơi tôi đang nhận được:Nhiệm vụ chuỗi cần thiết liên tiếp
TypeError: upload_ftp_image() takes exactly 5 arguments (6 given)
Ngoài ra, tôi có thể sử dụng dây chuyền và thể yên tâm rằng các bước sẽ tuần tự? nếu không thay thế là gì?
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()
Nhiệm vụ:
@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: "
và là này một tốt hay một thực tế xấu đối với trường hợp cụ thể của tôi? :
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()
Tôi nên làm như thế nào sau đó? – psychok7
@ psychok7: Mở rộng một chút. –
Nó có vẻ như tôi đã nhận nó làm việc :) .. cảm ơn một bó cho bạn giúp – psychok7