Я копирую большие (600 МБ) файлы из sftp, выполняю дополнительную обработку некоторых из них и сохраняю их в сетевом расположении.Мой вопрос: как мне сделать это эффективно?
Это был бы самый простой способ:
// just copy
from(sftp://user@domain.nl:22/folder)
.to(file:////mnt/networkfolder/copy)
// do some processing
from(sftp://user@domain.nl:22/folder?include=important.*)
.to(MyBean)
.to(file:////mnt/networkfolder/processed)
Однако, это делает две поездки в sftp.Я мог бы сделать это:
// just copy
from(sftp://user@domain.nl:22/folder)
.to(file:////mnt/networkfolder/copy)
// do some processing
from(file:////mnt/networkfolder/copy?include=important.*)
.to(MyBean)
.to(file:////mnt/networkfolder/processed)
Но затем я перемещаю файлы из сети обратно на сервер для обработки (или, по крайней мере, я думаю, что так и будет).
Так что мойдогадка, что это будет наилучшим способом:
// get files to my server
from(sftp://user@domain.nl:22/folder)
.to(file:////workdirectory)
// do the processing, then move to network
from(file:////workdirectory?include=important.*)
.to(MyBean)
.to(file:////mnt/networkfolder/processed)
// copy
from(file:////workdirectory?delete=true)
.to(file:////mnt/networkfolder/copy)
Будут ли два маршрута, начинающиеся в рабочем каталоге, мешать друг другу?Это лучший способ и имеет ли это значение с точки зрения сетевого трафика и скорости?