轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
publish-carousel

coco/publish-carousel

coco
自动构建

Publish Carousel是一个微服务,负责持续重新发布原生存储中的内容和注释,以利用新字段。

下载次数: 0状态:自动构建维护者:coco仓库类型:镜像最近更新:3 年前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,不浪费每一次拉取。
点击查看

Publish Carousel

https://coveralls.io/repos/github/Financial-Times/publish-carousel/badge.svg?branch=master](https://coveralls.io/github/Financial-Times/publish-carousel?branch=master)

一个负责持续从原生存储重新发布内容和注释的微服务。

API

参见Swagger YML 此处 或API Blueprint 此处。

安装

下载源代码、依赖项并构建二进制文件:

bash
go get github.com/Financial-Times/publish-carousel
cd $GOPATH/src/github.com/Financial-Times/publish-carousel
go build -mod=readonly .

测试

要测试项目,请使用:

bash
go test -mod=readonly -race ./...

存在MongoDB和Etcd集成测试,需要本地运行的MongoDB和Etcd实例。可以通过以下命令跳过这些测试(以及长时间运行的测试):

bash
go test -race -short ./...

要连接MongoDB实例,请使用环境变量MONGO_TEST_URL,例如export MONGO_TEST_URL=localhost:27017。要连接Etcd实例,请使用环境变量ETCD_TEST_URL,例如export ETCD_TEST_URL=http://localhost:2379。

配置来源和动态更新

服务的动态环境配置可以从etcd或文件系统获取。

要从etcd读取这些配置,请将ETCD_PEERS环境变量设置为etcd节点。

对于基于文件系统的环境配置,ETCD_PEERS必须设置为值:NOT_AVAILABLE。

无论是etcd还是基于文件的选项,都支持配置的动态更新。

本地运行

根据配置选项,需要etcd或配置文件 - 参见配置来源和动态更新

要在本地运行Carousel,请使用以下命令查看需要设置的命令行参数:

bash
./publish-carousel --help

请注意,如果连接到UPP集群,必须连接到主Mongo实例。

Windows开发者注意事项

Publish Carousel在优雅关闭时会向S3写入元数据文件。此功能(执行关闭钩子)在Windows的Git Bash中无法工作,但在命令提示符中可以正常工作。在Mac上可正常工作。

代码结构

包

以下包的职责明确:

  • cms包:负责以所需格式向cms-notifier发出POST请求。
  • etcd包:负责检索和监视etcd中的键。
  • native包:负责从Mongo中的native-store查找和读取文档。
  • resources包:提供服务的HTTP端点。
  • s3包:提供用于读写Amazon S3文件的高级(可重用)包。

scheduler和tasks包负责Carousel的整体操作:

  • tasks包:提供从native-store加载原生内容并POST到cms-notifier的抽象,便于扩展支持其他需要Mongo UUID的任务。
  • scheduler包:负责Carousel的运行管理。

概述

代码核心概念包括调度器(Scheduler)、周期(Cycle) 和周期元数据(CycleMetadata)。每个周期可处于多种状态之一。

调度器管理所有配置的周期,提供添加、删除、启停、重置单个周期及关闭所有周期的功能。

周期负责持续迭代native-store中的部分原生内容,完成一次内容子集的重新发布即完成一次迭代。

周期类型

ThrottledWholeCollection

迭代整个native-store集合(如methode、wordpress),按配置的节流间隔(如每15秒)重新发布内容。

FixedWindow

迭代配置时间窗口内(如过去一小时)的所有结果,动态调整节流以在窗口结束前完成发布。有最小节流限制,若无法在窗口内完成,将延长下一个窗口以避免遗漏。

示例:最小节流为1分钟,需发布65个项目时,将花费1小时5分钟,下一个窗口延长5分钟。

ScalingWindow

类似FixedWindow,但同时有最小和最大节流限制。周期完成后,下一次迭代从上次结束位置开始,可能导致极短的时间窗口。若窗口无内容,将进入冷却期(如5分钟)。

示例:最大节流为1分钟,5个项目需5分钟完成发布。

周期元数据

周期迭代过程中收集的元数据包括:

  • total:迭代项目总数
  • completed:已完成数量
  • progress:进度百分比
  • errors:错误总数
  • iteration:当前迭代次数
  • currentUuid:当前发布的UUID
  • windowStart/windowEnd:时间窗口起止(仅时间窗口类型)
  • states:周期状态数组

停止时,元数据(目前仅ThrottledWholeCollection类型)保存到S3;重启时尝试恢复,恢复后将跳过已完成项目继续发布。

周期状态

  • Starting(启动中):停止后准备初始迭代
  • Running(运行中):正在处理迭代
  • Stopped(已停止):需手动启动
  • Cooldown(冷却中):无内容时迭代间隔等待
  • Unhealthy(不健康):处理中出现问题(目前仅Mongo连接问题),初始版本中不健康周期将停止。

Active / Passive(主动/被动)

在Active/Passive发布集群中运行,默认在被动区域禁用。通过etcd键/ft/config/publish-carousel/enable(或文件配置的/configs/toggle)控制模式,切换时将相应启停。故障转移时不会自动启动,避免集群过载。

配置

基础配置

  • toggle:布尔值,启用/禁用carousel,默认true
  • active-cluster:布尔值,指示是否在主动集群运行,默认true

周期配置(所有类型必填)

  • name:周期名称
  • type:类型(ThrottledWholeCollection/ScalingWindow/FixedWindow)
  • origin:POST到cms-notifier的源系统ID
  • collection:native-store集合名称
  • coolDown:迭代间隔时间

特定类型额外配置

  • ThrottledWholeCollection:throttle(每次发布间隔)
  • ScalingWindow/FixedWindow:timeWindow(时间窗口)、minimumThrottle(最小节流)
  • ScalingWindow:maximumThrottle(最大节流)

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 publish-carousel 镜像标签

docker pull docker.xuanyuan.run/coco/publish-carousel:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull coco/publish-carousel:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
coco/publish-carousel
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱

更多 publish-carousel 镜像推荐

paketobuildpacks/dotnet-publish logo

paketobuildpacks/dotnet-publish

paketobuildpacks
暂无描述
500万+ 次下载
14 天前更新
balena/balena-mdns-publisher logo

balena/balena-mdns-publisher

balena
暂无描述
10万+ 次下载
20 天前更新
octopusdeploy/publish-linux logo

octopusdeploy/publish-linux

octopusdeploy
暂无描述
1万+ 次下载
14 天前更新
mirantis/aptly-publisher logo

mirantis/aptly-publisher

mirantis
暂无描述
6.5千+ 次下载
2 年前更新
intel/ia-mqtt-publisher logo

intel/ia-mqtt-publisher

intel
MQTT发布者模拟器从CSV文件提取焊接/风力涡轮机数据,将其转换为JSON格式并通过配置的主题发送到MQTT broker,主要用于“焊接异常检测示例应用”和“风力涡轮机异常检测示例应用”的数据摄入。
3.4千+ 次下载
14 天前更新
igwn/publisher logo

igwn/publisher

igwn
包含LaTeX环境的Docker容器,专为学术论文撰写和排版设计,支持各类期刊和会议的论文格式要求,便于快速生成高质量PDF文档,简化本地LaTeX配置流程。
1 次收藏1万+ 次下载
1 个月前更新

查看更多 publish-carousel 相关镜像