当前位置: 首页 > 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.15wanjia.com/news/39903.html

相关文章:

  • 帝国做网站怎么加视频个人外包接单平台
  • 做游戏出租的网站免费域名申请网站
  • 网站开发具体做什么的网络软文发布平台
  • 网站建设套模长尾关键词排名推广
  • 网站是做java还是c广州白云区最新信息
  • 网站备案怎样提交管局178软文网
  • 网站设计公司 中山深圳百度推广关键词推广
  • wordpress建站教程费用百度网站推广
  • 美发网站源码滕州百度推广
  • 访问数据库的网站开发语言杭州网站优化推荐
  • 搜索引擎友好的网站有哪些特点免费开店的电商平台
  • 海外网络推广技巧苏州seo关键词优化软件
  • 高端网站建设 上海网络营销什么意思
  • 做彩票网站需要什么收钱的哈尔滨网站推广
  • 网站怎么做才能得到更好的优化中国十大网络销售公司
  • 信誉好的广州外贸网站网页设计工资一般多少
  • 小型营销企业网站建设策划点点站长工具
  • 如何做网站编辑百度seo是什么意思呢
  • 做网站挣钱正规推广平台
  • 贵阳做网站kuhugz浙江seo博客
  • java网站开发面试题网络推广的工作内容
  • 做企业网站需要多少钱搜索引擎营销的主要模式
  • 打造自己的网站游戏代理怎么找渠道
  • 郴州网站制作站长工具网站测速
  • 做网站做58好还是赶集好东莞seo技术培训
  • 微信网站开发的代码长春网站seo公司
  • 南昌做兼职的网站设计百度销售推广
  • 为什么四川省建设厅网站打不开seo优化的价格
  • wap网站制作开发公司seo技巧是什么
  • 临潼城市建设局网站今日头条官网登录入口