Use FILE_UPLOAD_TEMP_DIR for big files.
authorRadek Czajka <rczajka@rczajka.pl>
Tue, 20 Apr 2021 21:28:42 +0000 (23:28 +0200)
committerRadek Czajka <rczajka@rczajka.pl>
Tue, 20 Apr 2021 21:28:42 +0000 (23:28 +0200)
src/archive/tasks.py
src/youtube/models.py
src/youtube/utils.py

index c38e6c1..3538a73 100644 (file)
@@ -10,6 +10,7 @@ from tempfile import NamedTemporaryFile
 from time import sleep
 
 from celery.task import Task
 from time import sleep
 
 from celery.task import Task
+from django.conf import settings
 from django.db.models import F
 from django.contrib.auth.models import User
 from mutagen import File
 from django.db.models import F
 from django.contrib.auth.models import User
 from mutagen import File
@@ -100,7 +101,10 @@ class AudioFormatTask(Task):
         else:
             user = None
 
         else:
             user = None
 
-        out_file = NamedTemporaryFile(delete=False, prefix='%d-' % aid, suffix='.%s' % self.ext)
+        out_file = NamedTemporaryFile(
+            delete=False, prefix='%d-' % aid, suffix='.%s' % self.ext,
+            dir=settings.FILE_UPLOAD_TEMP_DIR
+        )
         out_file.close()
         self.encode(self.get_source_file_paths(audiobook), out_file.name)
         self.set_status(aid, status.TAGGING)
         out_file.close()
         self.encode(self.get_source_file_paths(audiobook), out_file.name)
         self.set_status(aid, status.TAGGING)
index 32d5f04..76a02b9 100644 (file)
@@ -1,6 +1,5 @@
 import io
 from os import unlink
 import io
 from os import unlink
-from tempfile import NamedTemporaryFile
 from django.db import models
 from django.utils.translation import gettext_lazy as _
 from django.template import Template, Context
 from django.db import models
 from django.utils.translation import gettext_lazy as _
 from django.template import Template, Context
index 6c95c69..3b64018 100644 (file)
@@ -23,7 +23,10 @@ def link_or_copy(src, dst):
 
 def process_to_file(cmdline, prefix='', suffix='', cache_key=None, output_path=None):
     if not output_path:
 
 def process_to_file(cmdline, prefix='', suffix='', cache_key=None, output_path=None):
     if not output_path:
-        tmp = NamedTemporaryFile(prefix=prefix, suffix=suffix, delete=False)
+        tmp = NamedTemporaryFile(
+            prefix=prefix, suffix=suffix, delete=False,
+            dir=settings.FILE_UPLOAD_TEMP_DIR
+        )
         tmp.close()
         output_path = tmp.name
 
         tmp.close()
         output_path = tmp.name
 
@@ -59,7 +62,10 @@ def cut_video(video_path, duration):
 
 
 def ffmpeg_concat(paths, suffix, copy=False):
 
 
 def ffmpeg_concat(paths, suffix, copy=False):
-    filelist = NamedTemporaryFile(prefix='concat-', suffix='.txt')
+    filelist = NamedTemporaryFile(
+        prefix='concat-', suffix='.txt',
+        dir=settings.FILE_UPLOAD_TEMP_DIR
+    )
     for path in paths:
         filelist.write(f"file '{path}'\n".encode('utf-8'))
     filelist.flush()
     for path in paths:
         filelist.write(f"file '{path}'\n".encode('utf-8'))
     filelist.flush()