小编Ale*_*ias的帖子

仅实例化类的唯一对象

我正在尝试创建一个只在实例化过程中传入的参数是唯一组合时才创建实例的类.如果先前已传入参数组合,则返回先前已创建的实例.我希望这个类可以被其他类继承,所以它们继承了相同的行为.这是我第一次尝试解决方案,

要继承的基类/父类:

class RegistryType(type):
    def __init__(cls, name, bases, namespace, *args):
        cls.instantiated_objects = {}


class AdwordsObject(object, metaclass=RegistryType):
    api = AdWordsAPI()

    def __new__(cls, *args):
        object_name = '-'.join(args)
        if object_name in cls.instantiated_objects:
            return cls.instantiated_objects[object_name]
        else:
            obj = super(AdwordsObject, cls).__new__(cls)
            cls.instantiated_objects[object_name] = obj
            # cls.newt_connection.commit()
            return obj
Run Code Online (Sandbox Code Playgroud)

这就是它在子类中的使用方式:

class ProductAdGroup(AdwordsObject):
    # init method only called if object being instantiated hasn't already been instantiated
    def __init__(self, product_name, keyword_group):
        self.name = '-'.join([product_name, keyword_group])

    @classmethod
    def from_string(cls, name: str):
        arguments = name.split('-')
        assert len(arguments) == 2, 'Incorrect …
Run Code Online (Sandbox Code Playgroud)

oop memory-leaks metaclass instantiation python-3.5

6
推荐指数
1
解决办法
92
查看次数

Kubernetes上Jenkins奴隶的连接断开

在Google Container Engine上对Kubernetes 1.5.2进行了更新。然后开始出现以下错误:

Failed to count the # of live instances on Kubernetes
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我然后将Jenkins(升级到2.32.2)和Kubernetes插件(升级到0.10)到最新版本。

然后,我开始出现以下错误:

Feb 08, 2017 9:51:52 PM hudson.TcpSlaveAgentListener$ConnectionHandler run
WARNING: Connection #5 failed
java.io.EOFException
    at java.io.DataInputStream.readFully(DataInputStream.java:197)
    at java.io.DataInputStream.readFully(DataInputStream.java:169)
    at hudson.TcpSlaveAgentListener$ConnectionHandler.run(TcpSlaveAgentListener.java:213)

Feb 08, 2017 9:51:57 PM org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud$ProvisioningCallback call
SEVERE: Error in provisioning; slave=KubernetesSlave name: default-6126d6e4fb5, template=org.csanchez.jenkins.plugins.kubernetes.PodTemplate@47404ab7
java.lang.IllegalStateException: Containers are terminated with exit codes: {jnlp=255}
    at org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud$ProvisioningCallback.call(KubernetesCloud.java:600)
    at org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud$ProvisioningCallback.call(KubernetesCloud.java:532)
    at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)

jenkins google-cloud-platform kubernetes google-kubernetes-engine

5
推荐指数
1
解决办法
2931
查看次数

将gorm.Model字段集成到protobuf定义中

我试图弄清楚如何将gorm.Model字段(deleted_at,create_at,id等)集成到我的proto3定义中。但是,我不能为proto3提供日期时间类型。我试图寻找有关如何将gorm字段序列化为字符串的文档(因为proto3处理字符串),但是我什么都没找到。

有没有人能够在其原型定义中成功使用gorm模型字段?我正在使用go-micro的插件来生成* pb.go文件。

这是我当前无法使用的消息定义。似乎空字符串存储在delete_at数据库中,因为当delete_at查询为null时,postgres数据库什么也不返回。

message DatabaseConfig {
    string address = 1;
    int32 port = 2;
    string databaseName = 3;
    string username = 4;
    string password = 5;
    string databaseType = 6;
    string quertStatement = 7;
    int32 id = 8;
    string createdAt = 9;
    string updatedAt = 10;
    string deletedAt = 11;
}
Run Code Online (Sandbox Code Playgroud)

更新:我已经将proto def更新为以下内容,但gord仍无法使用Id,CreatedAt,UpdatedAt和DeletedAt字段正确

syntax = "proto3";

package go.micro.srv.importer;

import "google/protobuf/timestamp.proto";
import "github.com/gogo/protobuf/gogoproto/gogo.proto";

service ImporterService {
    rpc CreateDatabaseConfig(DatabaseConfig) returns (Response) {}
    rpc RetrieveDatabaseConfig(GetRequest) returns (Response) {}
    rpc UpdateDatabaseConfig(DatabaseConfig) returns (Response) …
Run Code Online (Sandbox Code Playgroud)

postgresql go grpc go-gorm proto3

5
推荐指数
1
解决办法
694
查看次数

使用 Panda 的 DataFrame().style 格式化日期时间索引

我正在使用 Pandas DataFrames 的 style 属性来创建用于发送电子邮件的 HTML 表格。我遇到的问题是我有一个日期时间索引,当我希望它显示为日期时,它显示为日期时间戳。我对时间部分不感兴趣。在解释器中,数据框确实打印出来(只显示日期部分)。但是当我使用表格的 style 属性进行样式化后渲染时,它会生成 HTML 并显示时间部分。我已经研究过使用 style.format() 但我无法访问索引列。我会重置索引以使日期时间列成为普通列......但我的标题列是多重索引。如果我变平并且不使用索引,则表格看起来很奇怪。

不幸的是,我在 .style 文档中发现了这一点:

限制

DataFrame only (use Series.to_frame().style) 索引和列必须是唯一的 没有大的repr,性能也不是很好;这是用于汇总 DataFrames 您只能设置值的样式,而不是索引或列的样式您只能应用样式,不能插入新的 HTML 实体其中一些将在将来解决。

https://pandas.pydata.org/pandas-docs/stable/style.html#Limitations

我发帖是想看看是否有人对我如何解决这个问题有任何想法。谢谢!

显示问题的示例表: example_table_link

生成表的代码:

account_day_df = merged[['Day', 'Metric1', 'Metric2', 'Metric3', 'Metric4', 'Campaign type']]
account_day_df = account_day_df.groupby(['Day', 'Campaign type']).sum()
account_day_df.loc[:, 'Metric5'] = account_day_df['Metric1'] / account_day_df['Metric4']
account_day_df = account_day_df.unstack('Campaign type')

html += (
    account_day_df.style
        .background_gradient(cmap=cm, subset=['Metric5'])
        .set_table_attributes('border="1" class="dataframe table table-hover table-bordered"')
        .render(i)
)
Run Code Online (Sandbox Code Playgroud)

html python formatting pandas

4
推荐指数
2
解决办法
3373
查看次数

Kubernetes Google 容器引擎 HTTPS 负载均衡器错误

有谁知道 Google\xe2\x80\x99s HTTPS 负载均衡器是否正常工作?\n我正在设置 NGINX 入口服务,但我注意到 Google 负载均衡器是由 Kubernetes 自动设置的。我得到了两个外部 IP,而不是一个。因此,我决定使用 Google 服务,而不是设置 NGINX 负载均衡器。我删除了容器集群,创建了一个全新的容器集群。我在端口 80 上启动了 HTTP Pod 和 HTTP 服务。然后创建了入口服务和 L7 控制器 Pod。现在,当我查看负载均衡器日志时,出现以下错误:

\n\n
\n

事件(api.ObjectReference{种类:“入口”,命名空间:“默认”,\n名称:“echomap”,UID:“9943e74c-76de-11e6-8c50-42010af0009b”,\n API版本:“扩展”,资源版本: “7935”,FieldPath:“”}):类型:\ n \'警告\'原因:\'GCE \' googleapi:错误400:验证失败\ n实例\ n \'projects/mundolytics/zones/us- east1-c/instances/gke-airportal-default-pool-7753c577-129e\':\n 实例最多可以属于一个负载均衡实例组。,\n instanceInMultipleLoadBalancedIgs

\n
\n

https load-balancing kubernetes google-kubernetes-engine

3
推荐指数
1
解决办法
2690
查看次数