小编Cla*_*ell的帖子

Python - ConnectionError:超出了最大重试次数

当我的服务器(称为服务器A)向我的另一台服务器(所有服务器B)上的资源发出请求时,我偶尔会收到此错误:

ConnectionError: HTTPConnectionPool(host='some_ip', port=some_port): Max retries exceeded with url: /some_url/ (Caused by : [Errno 111] Connection refused)

异常中的消息是
message : None: Max retries exceeded with url: /some_url/ (Caused by redirect)
我包含的消息,因为它有额外的信息(caused by redirect).

正如我所说,我控制了此请求中涉及的两个服务器,因此我可以对其中一个和/或两个进行更改.此外,错误似乎是间歇性的,因为它不会每次都发生.

潜在相关信息 - 服务器A是运行apache的Python服务器,服务器B是NodeJS服务器.我不是一个Web服务器向导,除此之外,我不确定哪些信息是相关的.

有没有人确切知道这个错误意味着什么,或者如何调查修复?或者,是否有人知道哪个服务器可能是问题,提出请求的服务器或接收请求的服务器?

编辑:错误已经开始,我们也调用了外部Web资源.

python webserver http node.js

11
推荐指数
1
解决办法
7722
查看次数

ElasticSearch - 使用距离点来影响查询相关性

尝试使用ElasticSearch创建一个搜索,该搜索使用距中心点的距离来影响相关性.

我不想简单地对距离点进行排序,我知道这是可能的,因为我希望基于搜索查询的相关性也会影响结果.

我想传入一个搜索字符串,说"咖啡"和一个纬度/经度,比如说"38,-77",并通过它们与"咖啡"的相关程度以及它们的接近程度来获得我的结果他们是"38,-77".

谢谢!

distance geolocation elasticsearch

10
推荐指数
2
解决办法
3113
查看次数

Django表单字段用于字符串列表

我需要一个Django表单字段,它将采用字符串列表.

我将遍历此列表并为每个字符串创建一个新的模型对象.

我不能做一个Model Multiple Choice Field,因为模型对象直到表单提交后才创建,我不能做一个Multiple Choice Field,因为我需要接受任意字符串,而不仅仅是一系列的定义的选项.

有人知道怎么做吗?

forms string django list django-forms

9
推荐指数
2
解决办法
4549
查看次数

Python - 捕获异常的效率

可能重复:
Python FAQ:"异常有多快?"

我记得读过Python在异常方面实现了"更好地寻求宽恕而非要求许可"的哲学.根据作者的说法,这意味着Python代码应该使用大量的try - except子句,而不是试图提前确定是否要做一些会导致异常的事情.

我刚刚在我的网络应用程序上写了一些try - except子句,其中大部分时间都会在代码运行时引发异常.因此,在这种情况下,提高和捕获异常将是常态.从效率的角度来看这是不是很糟糕?我还记得有人告诉我,捕获一个引发异常会产生很大的性能开销.

使用try - except条款是否会不必要地低效,在这些条款中,您希望几乎所有时间都会引发异常?

这是代码 - 它使用Django ORM来检查将用户与各种第三方社交提供者相关联的对象.

try:
    fb_social_auth = UserSocialAuth.objects.get(user=self, provider='facebook')
    user_dict['facebook_id'] = fb_social_auth.uid
except ObjectDoesNotExist:
    user_dict['facebook_id'] = None

try:
    fs_social_auth = UserSocialAuth.objects.get(user=self, provider='foursquare')
    user_dict['foursquare_id'] = fs_social_auth.uid
except ObjectDoesNotExist:
    user_dict['foursquare_id'] = None

try:
    tw_social_auth = UserSocialAuth.objects.get(user=self, provider='twitter')
    user_dict['twitter_id'] = tw_social_auth.uid
except ObjectDoesNotExist:
    user_dict['twitter_id'] = None
Run Code Online (Sandbox Code Playgroud)

第一个将很少采取例外,因为现在我们正在实施"登录Facebook"作为新用户加入该网站的主要方法.但是,Twitter和Foursquare是可选的,如果他们想要导入朋友或粉丝,我希望大多数人不会.

我愿意接受更好的方法来编写这种逻辑.

python performance try-catch

9
推荐指数
1
解决办法
394
查看次数

Python - 什么时候可以按名称传递位置参数,什么时候不能?

collections.defaultdict当您将default_factory作为位置参数传递时,Python 2.7.5 似乎才有效 - 当您将其作为命名参数传递时,它会中断.

如果您运行以下代码,您将看到default_dict_success()运行正常,但default_dict_failure()抛出一个KeyError.

from collections import defaultdict

test_data = [
    ('clay', 'happy'),
    ('jason', 'happy'),
    ('aj', 'sad'),
    ('eric', 'happy'),
    ('sophie', 'sad')
]

def default_dict_success():
    results = defaultdict(list)
    for person, mood in test_data:
        results[mood].append(person)
    print results


def default_dict_failure():
    results = defaultdict(default_factory=list)
    for person, mood in test_data:
        results[mood].append(person)
    print results


default_dict_success()
default_dict_failure()
Run Code Online (Sandbox Code Playgroud)

输出是

# First function succeeds
defaultdict(<type 'list'>, {'sad': ['aj', 'sophie'], 'happy': ['clay', 'jason', 'eric']})

# Second function fails
Traceback (most recent …
Run Code Online (Sandbox Code Playgroud)

python parameters arguments defaultdict

9
推荐指数
1
解决办法
739
查看次数

ElasticSearch通过分页复制结果

我正在使用带有pyes的elasticsearch.我在最后一页的结果中得到重复.这是我的查询:

"query": {
    "query": {
        "filtered": {
            "filter": {
                "and": [
                    {
                        "match_all": {

                        }
                    }
                ]
            },
            "query": {
                "bool": {
                    "minimum_number_should_match": 1,
                    "should": [
                        {
                            "text": {
                                "name.keyword_name": {
                                    "operator": "and",
                                    "query": "kentucky",
                                    "type": "boolean",
                                    "fuzziness": 0.8
                                }
                            }
                        },
                        {
                            "text": {
                                "address": {
                                    "operator": "and",
                                    "query": "kentucky",
                                    "type": "boolean"
                                }
                            }
                        },
                        {
                            "text": {
                                "neighborhoods.name": {
                                    "operator": "and",
                                    "query": "kentucky",
                                    "type": "boolean",
                                    "fuzziness": 0.8
                                }
                            }
                        },
                        {
                            "text": {
                                "categories.name": {
                                    "operator": "and",
                                    "query": …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

8
推荐指数
2
解决办法
4395
查看次数

通过Open Graph API发布时,不会呈现Facebook wallpost图像

当墙贴通过Open Graph API制作时,需要一种方法让Facebook在墙柱中渲染图像.

当我将这个链接复制并粘贴到facebook.com上的Facebook用户界面并以这种方式发布时,墙贴最终看起来像这样:

在FB墙壁岗位的成功的被回报的图象

但是,当我尝试使用Facebook Python库以编程方式访问我的墙时,使用下面的代码,图像不会呈现:

graph = GraphAPI(valid_access_token)
graph.put_wall_post(message='https://s3.amazonaws.com/dotellapptest/review_photos/enlarged/811..OJUzXI76Rw6J2Zj_vZyWNw.png')
Run Code Online (Sandbox Code Playgroud)

收益率:

不成功的Facebook墙贴与图像

如何使用Facebook API在我的留言板中嵌入图像?

facebook image facebook-wall facebook-graph-api

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

ElasticSearch错误地索引和查询非字母数字字符

我的ElasticSearch索引未正确索引和查询非字母数字字符.具体而言,点和短划线会引起问题.

如果我使用名称"OK Corral"索引文档,它应该匹配"OK Corral"的查询.同样,如果我将"Whiskey A Go-Go"编入索引,我希望它能与"Whiskey A GoGo"和"Whiskey A Go Go"相匹配.

现在,只有具有正确点和短划线的查询才会返回这些文档.

我希望该解决方案还能解决其他非字母数字字符的任何潜在问题,如逗号和撇号.

对于ElasticSearch令牌过滤器来说,这听起来像是一份工作,但我找不到能满足我需求的那些.另外,我想在ElasticSearch中执行此操作 - 我不想编写自定义字符串操作来在数据到达我的ES索引之前规范化数据.

谢谢你的帮助!

string normalization elasticsearch

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

控制ElasticSearch中令牌过滤器的顺序

尝试控制在ElasticSearch中应用标记过滤器的顺序.

我从文档中知道首先应用了tokenizer,然后是令牌过滤器,但他们没有提到如何确定令牌过滤器的顺序.

这是我的分析设置脚本中的YAML片段:

       KeywordNameIndexAnalyzer :
           type : custom
           tokenizer : whitespace
           filter : [my_word_concatenator, keyword_ngram]
Run Code Online (Sandbox Code Playgroud)

我原本以为my_word_concatenator会在之前应用keyword_ngram,但似乎并非如此.任何人都知道如何(或是否)可以控制这些过滤器的顺序?

非常感谢!

search tokenize elasticsearch

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

无法使用Youtube Data API删除视频

无法使用Youtube Data API删除视频.我正在使用Python客户端库.

所有这些似乎都直接来自文档,所以我真的很困惑为什么它不起作用.这是我的功能:

def delete_youtube_video_by_id(video_id):
    yt_service = gdata.youtube.service.YouTubeService()
    yt_service.email = YOUTUBE_EMAIL
    yt_service.password = YOUTUBE_SECRET_PASSWORD
    yt_service.source = YOUTUBE_SOURCE
    yt_service.developer_key = YOUTUBE_SECRET_DEVELOPER_KEY
    yt_service.client_id = YOUTUBE_CLIENT_ID
    yt_service.ProgrammaticLogin()
    video_entry = yt_service.GetYouTubeVideoEntry(video_id=video_id)
    response = yt_service.DeleteVideoEntry(video_entry)
    return response
Run Code Online (Sandbox Code Playgroud)

从文档中,如果视频成功删除,则应返回True.但是,它返回None:

>>> response = delete_youtube_video_by_id('my_youtube_video_id')
>>> type(response)
<type 'NoneType'>
>>> 
Run Code Online (Sandbox Code Playgroud)

视频不会被删除.我知道凭据很好,因为它们与我用来上传视频的凭据相同,而且我知道ID很好,因为我直接从youtube中的渠道获取.

有任何想法吗?

python youtube video youtube-api

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