Django 양식을 통해 업로드 된 Celery를 사용하여 큰 CSV 파일을 처리하겠다는 것이 저의 목표입니다. , 나는 다음과 취득을 파일의 크기가 위의 설정보다 큰 그러나django 셀러리 작업으로 대용량 파일 처리
@task
def taskFunction(cleaned_data):
for line in csv.reader(cleaned_data['upload_file']):
MyModel.objects.create(field=line[0])
: 파일의 크기가 SETTINGS.FILE_UPLOAD_MAX_MEMORY_SIZE
보다 작을 때, 나는 셀러리 작업에 폼의 cleaned_data
변수를 전달하고 사용하여 파일을 읽을 수 있습니다 오류 : 업로드 된 파일이 다시 일 때 나타납니다
return dumper(obj, protocol=pickle_protocol)
: 스택 추적이 피클 중에 발생하는 오류를 보여줍니다
expected string or Unicode object, NoneType found
임시 파일의 광고, 피클이 실패합니다.
이 문제에 대한 간단한 해결책은 FILE_UPLOAD_MAX_MEMORY_SIZE
을 늘리는 것입니다. 그러나이 문제를 관리하는 더 좋은 방법이 있다면 궁금합니다.
사용자 지정 [저장소] (https://docs.djangoproject.com/en/dev/howto/custom-file-storage/) 처리기가 더 깨끗합니다. –