Automator 在下载时抛出错误,但下载仍然完成?

Automator throws error on download, but download still completes?

我有一个工作流程,使用传输和自动程序将文件从 FTP 下载到我的计算机。

automator 中的操作如下所示:

此操作信息正确,远程文件路径的文件已下载到我的电脑

但是,下载完成 1/3(约 200 个文件)时,自动程序抛出错误:

下载仍在继续,但该错误使自动化程序无法执行剩余的工作流程。

所以我的问题是: 如何解决此错误,或者至少在显示错误后让工作流程继续?

这是来自 Panic 的 library:

When configuring Automator to Upload or Sync large files, Automator can experience an error: “The action “Synchronize” encountered an error: “The operation couldn’t be completed. (Cocoa error -1)”. We’ve also seen this error present as: -1712, -1753, and -1. -1 being the most common.

Unfortunately, Apple has instituted a 2-minute timeout for Automator actions for macOS versions 10.14 and above. We’ve reported this to Apple, but at this time, there is not a fix or workaround.

如果这听起来像是您面临的问题(您没有提及您的 OS 或 Transmit 版本),那么也许您可以调整工作流程以分块处理文件列表。

有一种方法可以让 Automator 继续工作流程而不会超时。使用 AppleScript,如果将下载命令包装在 with timeout of 1000 命令中(1000 以秒为单位。使用您认为可行的任何数字 ),脚本现在最多等待 1000 秒以完成下载命令,而不是默认的 120 秒,然后超时或继续执行下一个命令。

因此,无需将 Automator 传输下载 操作添加到您的 Automator 工作流程,您可以插入 运行 AppleScript 命令到您的 Workflow


例如,假设您要在 Transmit.app 中下载 remote browser of the current tab 上的每个当前选定的文件而不用 timimg,您将插入一个 运行 AppleScript 命令到您的 Workflow 并插入以下 AppleScript 代码。 (显然是根据您的需要编辑代码中的属性。)

property downloadLocation : POSIX path of (path to desktop)
property filesToDownload : missing value

tell application "Transmit"
    tell its document "Transmit"
        set selectedFiles to a reference to selected browser items of ¬
            (get remote browser of current tab)
        if (count of selectedFiles) > 0 then
            set filesToDownload to path of selectedFiles
        else
            return
        end if
        repeat with thisFile in filesToDownload
            with timeout of 1200 seconds
                download remote browser of current tab item at path thisFile to ¬
                    downloadLocation with resume mode resume
            end timeout
        end repeat
    end tell
end tell