Nginx同一域名下代理airflow与flower

airflow的webserver默认监听为8080端口,若使用Celery执行任务,一般也会开启flower来监控Celery任务,而flower默认监听端口为5555。这样的话每次还得输入端口号来访问这两个服务,很不方便。我就想能不能将两个服务使用nginx代理到同一端口(80或者的433),而通过路由/airflow和/flower分别来访问。 在文档里查了一下,果不其然airflo...

阅读全文

Angular @Input()根据传入值自适应显示

在使用那NZ-ZORRO的时候发现很多组件的传入值既可以是sting类型,也可以是TemplateRef,比较灵活。我也试着实现这样的组件,开始使用ngTemplateOutlet来做的,发现只支持tempalte,传入string就报错了。后来看了ng-zorro的源码发现其实他们是根据类型判断走不同的ng-container来实现的。我以为这里用高级用法呢,有些失望。我也安ng-zorr...

阅读全文

python使用Zookeeper实现操作锁

今天做产品购买的时候看到之前的一些代码,核心代码如下 from kazoo.client import * from gateway import config class ZookeeperLock: def __init__(self, servers): self.zk = KazooClient(",".join(servers)) la...

阅读全文

Angular 使用@Input()检测数据变更

之前使用@Input()用于父子组件间通信,参考之前的博客。 可以做到单向绑定的效果,但不能检测传入值的变化,我这里需要根据传入值的变化改变其他值。这里介绍了@Input()的另外一种用法。@Input() 不但可以装饰变量,也能装饰get和set方法。 我这里的是要根据产品的状态来显示不同颜色提示,我们公司产品比较多,大多数都有状态显示,所以封装个通用组件。以下为基本实现。 impo...

阅读全文

angular登陆后转跳之前页面

之前做了关于登陆认证的功能,但没有实现登陆后转跳之前的url。 使用angular前后端分离后,前后的交互都是异步的,之前MVC那一套的302在这里已经不适用了。但可以借鉴之前的思想,在url中的GET参数(问号后面的值)中传递要转跳的url。 使用拦截器转跳登陆页面并携带next转跳url import { Injectable, Injector } from '@angular/...

阅读全文