当前位置: 首页 > news >正文

深圳优化公司统高粱seo网站推广排名优化

深圳优化公司统高粱seo,网站推广排名优化,淘宝店可以做团购的网站,seo按天计费系统背景 需要监听K8s中CRD资源的变动, 做出相应的处理, 需要针对 CRD资源建立informer 实现 dynamicClient 是 创建的K8s的client, 这里使用的是 Unstructured 接収的CRD的结果, 加工的时候使用了convertUnstructuredProject 加工了一下, convertUnstructuredProject 实现下面提…

背景

需要监听K8s中CRD资源的变动, 做出相应的处理, 需要针对 CRD资源建立informer

实现

dynamicClient 是 创建的K8s的client, 这里使用的是 Unstructured 接収的CRD的结果,
加工的时候使用了convertUnstructuredProject 加工了一下, convertUnstructuredProject 实现下面提供
projectGvk 是 GroupVersionResource , 根据自己的CRD定义

		// 创建sharedInformerFactory,第二个参数为同步周期,也就是多久从APIServer List一次,并更新到本地缓存informer := cache.NewSharedInformer(&cache.ListWatch{ListFunc: func(options v1.ListOptions) (runtime.Object, error) {return dynamicClient.Resource(projectGvk).List(ctx, options)},WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {return dynamicClient.Resource(projectGvk).Watch(ctx, options)},},&unstructured.Unstructured{},60*time.Second)// 创建informerif err != nil {log.Error("Failed to create informer", zap.Error(err))continue}// 注册资源事件处理方法informer.AddEventHandler(cache.ResourceEventHandlerFuncs{AddFunc: func(obj interface{}) {},UpdateFunc: func(oldObj, newObj interface{}) {newData, err := convertUnstructuredProject(newObj)if err != nil {log.Error("Failed to convert unstructured project", zap.Error(err))}oldData, err := convertUnstructuredProject(oldObj)if err != nil {log.Error("Failed to convert unstructured project", zap.Error(err))}if oldData.Generation != newData.Generation {fmt.Println("update", newData)saveProject(newData, clsuter.Platform)}},DeleteFunc: func(obj interface{}) {data, err := convertUnstructuredProject(obj)if err != nil {log.Error("Failed to convert unstructured project", zap.Error(err))}fmt.Println("delete", data)deleteProject(data, clsuter.Platform)},})// 启动stopCh := make(chan struct{})log.Info("Starting project informer factory")informer.Run(stopCh)// 等待父协程处理<-ctx.Done()close(stopCh)log.Info("Shutting down project informer factory")

convertUnstructuredProject的实现 Project 是实现的 runtime.Object 接口的struct

func convertUnstructuredProject(obj interface{}) (crd *Project, err error) {// 将obj转换为*unstructured.Unstructured类型u, ok := obj.(*unstructured.Unstructured)if !ok {fmt.Println("Failed to convert object to *unstructured.Unstructured")return}// 将u对象转换为YourCRDType类型crd = &Project{}err = runtime.DefaultUnstructuredConverter.FromUnstructured(u.UnstructuredContent(), crd)if err != nil {fmt.Println("Failed to convert object to YourCRDType")return}return
}
http://www.tj-hxxt.cn/news/37713.html

相关文章:

  • 建筑工程服务有限公司刷seo快速排名
  • 上国外网站dns广州市人民政府新闻办公室
  • 做死活题网站外链seo招聘
  • 正定城乡建设局网站baidu com百度一下
  • dw怎么做连接到另外一个网站百度企业推广怎么收费
  • 南京网站设计与制作刷网站软件
  • 哪里有做网站服务商网页制作代码
  • 色块网站大学生创新创业大赛
  • 网站建设软件设计青岛官网seo方法
  • 鲨鱼座 网站建设西安关键词推广
  • 凡科做的网站能被收录吗网店怎么开
  • 做代刷主站网站软文是什么意思?
  • 如何做简单的网站丈哥seo博客工具
  • 付费抽奖网站怎么做青岛网站建设制作
  • 网站建设中源代码成都门户网站建设
  • 品牌建设标题宿州百度seo排名软件
  • 做网站要建立站点吗seo基础入门视频教程
  • 没有网站怎么做cpa百度客服电话人工服务热线电话
  • 中安消防安全网站建设sem培训机构
  • 做室内设计兼职的网站电商平台
  • 企业网站系统建设毕业论文广东广州重大新闻
  • 网站建设的条件软文大全500篇
  • 阿里云网站建设视频搜索引擎优化营销
  • 公司内部网站建设公司网站制作模板
  • 做网站前端的软件关于网络推广的方法
  • 怎么建网站手机版如何制作网址
  • 保定网页设计招聘网站企业建站都有什么网站
  • 如何读懂网站日志文件如何快速推广网站
  • 北京律师网站建设企业网站分析报告
  • 商标注册网站官网网站上做推广