Заставить Lightroom Classic написать сразу все изображение во время экспорта?(Экспорт в сетевое ведро GCS) - Фотопедия
0 голосов
/ 20 августа 2019

На моем локальном компьютере недостаточно места, поэтому я подключил корзину Google Cloud Storage к локальному компьютеру, используя gcsfuse.Сейчас я экспортирую свою библиотеку из Lightroom Classic в виде файлов JPEG в смонтированную корзину GCS, но процесс идет очень медленно, гораздо медленнее, чем следовало бы, если строго учитывать скорость и время кодирования для загрузки файлов в GCS.

Я считаю, что Lightroom постепенно записывает закодированные файлы в файловую систему.Это нормально в нормальной системе, но с gcsfuse изменение файла включает в себя чтение всего файла из GCS, редактирование файла и запись всего этого обратно в GCS.Это означает, что каждая добавочная запись занимает на порядки больше времени, чем в противном случае.

Я придумал временное решение для экспорта 50 файлов за раз в локальный каталог, а затем массового перемещения в каталог, который состоит из смонтированной корзины GCS, но я хотел бы сделатьтак, чтобы я мог экспортировать всю мою библиотеку за один раз из Lightroom в установленное ведро GCS.Для этого мне нужно изменить Lightroom на запись файлов JPEG только после того, как они полностью закодированы, есть ли способ сделать это?

Ответы [ 2 ]

4 голосов
/ 20 августа 2019

Кажется крайне маловероятным, чтобы в Lightroom была настройка (явная или тайная) для решения этой непонятной ситуации.

Я думаю, что вы находитесь в ситуации, когда применяется старая шутка:

Доктор!Больно, когда я делаю это!

Ну, не делай этого.

У тебя есть обходной путь.Я бы сосредоточился на том, чтобы сделать это как можно более безболезненным.

0 голосов
/ 20 августа 2019

Для тех, кто хочет знать, как я сделал обходной путь менее сложным, я написал скрипт на python для автоматического мониторинга локального каталога, в который экспортируется Lightroom Classic, и перемещения всех файлов (кроме самого последнего, который, возможно, все еще пишется)) к сетевому диску при экспорте.Это позволяет мне выполнять гигантский, неконтролируемый экспорт.

Этот сценарий выполняется в каталоге, в который экспортируются файлы, и файлы перемещаются в смонтированный каталог, который находится по адресу "/ Users / me/ gcs-buckets / my-bucket "

#!/usr/bin/env python

import os
import sys
import shutil
import time

def main():
    while True:
        files = os.listdir(".")
        files = filter(lambda fn: len(os.path.splitext(fn)) == 2 and os.path.splitext(fn)[1] == '.jpg', files)
        # files are of the format "jmt2019_part1-476.jpg", parse into
        # (476, "jmt2019_part1-476.jpg") so we can sort by the integer
        file_pairs = [(int(os.path.splitext(f)[0].split("-")[1]), f) for f in files]
        file_pairs = sorted(file_pairs, key=lambda t: t[0])
        #print file_pairs
        for _, f in file_pairs[:-1]:
            # for all but the most recent file as it's likely being written still
            new_path = os.path.join("/Users/me/gcs-buckets/my-bucket", f)
            print "moving file", f, "to new path at", new_path
            before = time.time()
            shutil.move(f, new_path)
            after = time.time() - before
            print "moved file", f, "to remote storage in", after, "seconds!"
        print "waiting 10 seconds!"
        time.sleep(10)

if __name__ == '__main__':
    sys.exit(not main())
...