giant-squid 是 MWA ASVO 的替代客户端。它最初是用Haskell编程语言开发的MWA ASVO相关任务库(现已迁移至Rust),但不仅是一个库,其可执行文件还可作为 manta-ray-client 的替代品,为用户提供更优的使用体验。有关MWA ASVO的一般使用帮助,请访问 MWA ASVO wiki。
HPC用户注意
若在HPC系统上运行giant-squid,请阅读 此wiki文章。
默认情况下,giant-squid 会对流式下载的MWA ASVO数据进行即时解压缩。无需先下载大型tar文件(可能超过100 GiB)再手动解压缩(从而避免占用双倍空间和昂贵的IO操作),使用 --keep-tar 选项可保留tar文件。
指定 --keep-tar 时,giant-squid 支持恢复中断的部分下载,并在下载命令再次运行时从断点继续。此外,若待下载文件已存在且文件大小和校验和匹配预期值,则会跳过重复下载。
提交作业无需CSV文件,直接通过命令行参数完成。
对于接受obsid或作业ID的命令,支持使用文本文件输入。文本文件中的每个条目会被验证(必须为10位整数),若存在无效条目则报错并终止命令。
支持以JSON格式打印MWA ASVO队列,便于其他编程语言解析作业状态。
默认验证归档文件的哈希值,可通过 --skip-hash 跳过验证。
bashgiant-squid -h
所有子命令也支持帮助查看,例如:
bashgiant-squid download -h
bashgiant-squid --version giant-squid -V
bashgiant-squid list giant-squid l
以下命令等效:
bashgiant-squid list --json giant-squid list -j giant-squid l -j
示例输出:
bashgiant-squid list -j {"325430":{"obsid":***,"jobId":325430,"jobType":"DownloadVisibilities","jobState":"Ready","files":[{"fileName":"***_vis.zip","fileSize":10762878689,"fileHash":"ca0e89e56cbeb05816dad853f5bab0b4075097da"}]},"325431":{"obsid":***,"jobId":325431,"jobType":"DownloadVisibilities","jobState":"Ready","files":[{"fileName":"***_vis.zip","fileSize":10762875021,"fileHash":"9d9c3c0f56a2bb4e851aa63cdfb79095b29c66c9"}]}}
jobType 允许值:Conversion、DownloadVisibilities、DownloadMetadata、DownloadVoltage、CancelJob。
jobState 允许值:Queued、WaitCal、Staging、Staged、Downloading、Preprocessing、Imaging、Delivering、Ready、Error: Text(如"Error: some error message")、Expired、Cancelled。
giant-squid list 接受可选的标识符列表(obsid或job ID,但不可混合),并支持 --types 和 --states 选项进一步筛选。参数值不区分大小写,支持多种格式(如 dOwNlOaD__vIsIbIlItIeS、download-metadata 等)。
示例:筛选obsid为或、jobType为DownloadVisibilities/DownloadMetadata/CancelJob、jobState为Preprocessing/Queued的作业:
bashgiant-squid list \ --types dOwNlOaD__vIsIbIlItIeS,download-metadata,CANCELJOB \ --states PrepRoCeSsInG,__Q_u_e_u_e_D__ \ *** ***
下载作业ID ***到当前目录:
bashgiant-squid download *** # 或简写 giant-squid d ***
下载obsid ***到当前目录(10位数字被识别为obsid):
bashgiant-squid download *** giant-squid d ***
支持通过文本文件指定多个obsid或job ID。
使用 --download-dir 或 -d 指定目录:
bashgiant-squid download --download-dir /tmp *** giant-squid d -d /tmp ***
-k 或 --keep-tar 保留tar包。--keep-tar 时支持恢复中断的下载,若文件已存在且校验通过则跳过。默认并发下载数为4(当下载作业数≥4时),可通过 --concurrent-downloads N 或 -c N 调整(N≥1):
bashgiant-squid download -c 2 *** 67890
默认下载时缓存100 MiB数据后写入磁盘,可通过环境变量 GIANT_SQUID_BUF_SIZE 调整(单位:MiB):
bashexport GIANT_SQUID_BUF_SIZE=50 giant-squid download ***
提交作业前需选择数据交付方式,环境变量 GIANT_SQUID_DELIVERY 可设置默认值(acacia、scratch 或 dug),也可通过 -d 或 --delivery 临时指定。
提交obsid ***的可见性数据下载作业:
bashgiant-squid submit-vis *** # 或简写 giant-squid sv ***
支持文本文件输入obsid,--dry-run 或 -n 可预览提交(不实际执行)。
提交obsid ***的转换作业:
bashgiant-squid submit-conv *** # 或简写 giant-squid sc ***
通过 -p 指定转换参数(键值对,逗号分隔):
bashgiant-squid submit-conv *** -p avg_time_res=0.5,avg_freq_res=10
提交obsid ***的元数据下载作业(含metafits和cotter标志文件):
bashgiant-squid submit-meta *** # 或简写 giant-squid sm ***
提交obsid ***的电压数据下载作业(需指定scratch交付):
bashgiant-squid submit-volt --delivery scratch --offset 0 --duration 8 *** # 或简写 giant-squid sv -d scratch -o 0 -u 8 ***
可选参数 --from_channel 和 --to_channel 限制接收通道范围(0-255,含边界)。
默认不允许提交与现有队列中(非错误状态)作业参数完全相同的作业,使用 --allow-resubmit 或 -r 强制重提交:
bashgiant-squid submit-vis -r ***
bashdocker run mwatelescope/giant-squid:latest -h
查看帮助后,可按上述命令格式使用,例如列出作业:
bashdocker run mwatelescope/giant-squid:latest list -j
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名