🎉 Arcadia 1.0.0-beta.8(现已发布)
Arcadia

运行代码文件

运行代码

✍在本篇内容中你将学习到如何运行代码文件这一基础功能。看上去内容很多?其实非常简单。

需要特别说明的是,代码文件是各编程语言程序文件的统称,并非所有代码文件都属于脚本类型。

$ arcadia run
 Arcadia CLI - 执行代码文件

  使用方法:

    arcadia run <name/path/url> [--options]

  命令选项:

    -l, --loop                  循环运行 - 连续多次的执行代码文件,选项后需跟循环次数
    -s, --silent                静默运行 - 不推送任何通知消息
    -w, --wait                  推迟执行 - 等待指定时间后再运行任务,选项后需跟时间值
    -D, --delay                 延迟执行 - 随机倒数一定秒数后再执行代码文件
    -d, --daemon                守护进程 - 将代码文件设置为守护进程保持在后台运行,期间中断或结束会自动重新运行
    -a, --agent                 网络代理 - 使代码文件的 HTTP/HTTPS 网络请求通过全局代理进行,仅支持 Node.js ts-node
    -T, --timeout               运行超时 - 设置运行任务超时机制,选项后需跟 timeout 指令的参数作为选项值
    -N, --no-log                不记录日志 - 不存储代码运行日志到本地
    -p, --proxy                 启用下载代理 - 仅适用于执行位于 GitHub 仓库的代码文件,代理固定为 jsDelivr CDN
    -c, --concurrent            并发运行 - 默认运行1个任务,若想增加运行任务数量那么请传参任务数量
    -t, --thread                并发线程数 - 指定同时运行的最大任务数量,选项后需跟正整数,需与并发运行同时使用
    -b, --background            后台运行 - 不在前台输出代码执行进度,不占用终端命令行
    -r, --recombine-env         变量重组 - 按照指定顺序重新组合复合变量的值,选项后需跟变量名称、分隔符、重组表达式
                                           表达式语法:多个值用 "," 隔开,值区间用 "-" 连接,可以用 "%" 表示值的总数
    -R, --recombine-env-group   分组运行 - 为每组变量单独运行,是变量重组的扩展,传参基本一致,其中重组表达式内用 "@" 来区分不同组
    -S, --split-env             拆分运行 - 将复合变量的值拆分后为每个值声明变量并单独运行代码文件,选项后需跟需要拆分的变量名称、分隔符

    -E, --exec-args             执行参数 - 将该选项后面的内容作为参数传递给代码执行器
    --                          传递选项,将该选项后面的所有内容都作为选项参数传递给代码文件

    --deno,--use-deno          使用 Deno 作为 JavaScript TypeScript 的运行时环境
    --bun,--use-bun            使用 Bun 作为 JavaScript TypeScript 的运行时环境
    --ts-node,--use-ts-node    使用 ts-node 作为 TypeScript 的执行器

  命令帮助:

    <name> 文件名(仅scripts目录)  <path> 相对路径或绝对路径  <url> 链接地址  [--options] 命令选项

使用方法

arcadia run <name/path/url> [--options]

文件名称 name

仅限 scripts 个人目录下的代码文件,并且仅涵盖 根目录,你可以把你常用的脚本存放在这里

路径 path

相对路径或绝对路径,支持使用 ../ 作为当前目录和用 ../ 作为上级目录,如果运行本地的个人代码文件则可以省略路径 如果运行的是已配置的代码仓库中的代码文件可以使用相对路径,例如 /arcadia/repo/<仓库目录名称>/example.js 可以使用 repo/example.js 替代

链接地址 <url>

运行后代码文件默认保存在 scripts 个人目录,支持链接自动纠正功能 链接自动纠正功能是当拉取位于远程托管仓库的代码文件时可自动将 blob 链接转换为 raw 原始文件链接,此功能已应用到整个项目

命令选项 [--options]

用于实现一些扩展功能,具体请查看下方的文档内容


基础概念


命令选项

使用方法:追加在命令的末尾,熟练后可以使用简写

一个高级的应用程序CLI指令往往有着复杂的命令选项设计,这可能是一个漫长的学习过程~

选项用途选项值描述
-l, --loop循环运行连续多次运行代码文件,选项后需跟 循环次数(正整数),该参数与 等待执行延迟执行 参数同时使用时仍然有效互不干涉
-s, --silent静默运行静默运行任务不推送任何通知消息
-w, --wait推迟执行等待指定时间后再运行代码文件,选项后需跟 等待时间单位 作为参数值,具体参照 sleep 命令的用法
-D, --delay延迟执行随机倒数一定秒数后再运行代码文件,该秒数上限可以在配置文件中定义
-d, --daemon守护进程通过 PM2 将代码文件设置为守护进程保持在后台运行,期间中断或结束会自动重新运行
-a, --agent网络代理使代码文件的 HTTP/HTTPS 网络请求通过全局代理进行,仅支持 Node.js 和 ts-node,使用该功能需要自行在配置文件对应处定义代理地址变量
-T, --timeout运行超时设置运行任务超时机制,选项后需跟 timeout 指令的参数作为选项值
-N, --no-log不记录日志不存储代码运行日志到本地
-p, --proxy启用下载代理仅适用于执行位于 GitHub 仓库的代码文件,该代理固定为 jsDelivr 公共 CDN 加速代理
-c, --concurrent并发运行默认运行1个任务,若想增加运行任务数量那么请传参 任务数量(正整数)
-t, --thread指定并发线程指定同时运行的最大任务数量,选项后需跟正整数,需与并发运行同时使用
-b, --background后台运行不在前台输出代码执行进度,不占用终端命令行
-r, --recombine-env变量重组按照指定顺序重新组合复合变量的值,选项后需跟变量名称、分隔符、重组表达式。表达式语法:多个值用 , 隔开,值区间用 - 连接,可以用 % 表示值的总数
-R, --recombine-env-group分组运行基于变量重组功能上的扩展应用,为每组变量单独运行代码文件,传参与变量重组功能基本一致,其中重组表达式内用 @ 来区分不同组
-S, --split-env拆分运行将复合变量的值拆分后为每个值声明变量并单独运行代码文件,选项后需跟需要拆分的变量名称、分隔符
-E, --exec-args执行参数将该选项后面的内容作为参数传递给代码执行器
--传递选项将该选项后面的所有内容都作为选项参数传递给代码文件
--deno, --use-denoDeno使用 Deno 作为 JavaScript 和 TypeScript 的运行时环境,替代 Node.js 和 tsx
--bun, --use-bunBun使用 Bun 作为 JavaScript 和 TypeScript 的运行时环境,替代 Node.js 和 tsx
--ts-node, --use-ts-nodets-node使用 ts-node 作为 TypeScript 的执行器,替代 tsx

终止运行

终止运行中的代码程序(脚本)
arcadia stop <name/path>

终止某个或某些正在运行中的代码程序,根据代码文件名称搜索对应的进程并立即杀死,支持终止多进程任务

<name> 文件名(仅scripts目录) <path> 相对路径或绝对路径