小编joa*_*nrb的帖子

runtime.LockOSThread是否允许子goroutines在相同的OS线程中运行?

据我所知,在Go中,runtime.LockOSThread()将goroutine绑定到一个OS线程,不允许其他goroutine在该线程中执行.儿童goroutines也是如此吗?

例如:

runtime.LockOSThread()
go func() {
    go func() {
        // Do something
    }()
    // Do something
}()
Run Code Online (Sandbox Code Playgroud)

这两个goroutine都是在一个独占的OS线程中执行还是只在第一个执行?

go

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

Django url警告urls.W002

提前抱歉,如果这个问题看起来有点多余,但是真的很困扰我.

我有一组用Django编写的API,由以下URL定义.

# urls.py
import ...
urlpatterns = [
    url(r"^api/v1/account", include(profile.urls))
]
Run Code Online (Sandbox Code Playgroud)

# profile/urls.py
import ...
urlpatterns = [
    url(r"^$", AccountAPI.as_view()),
    url(r"^/login$", LoginAPI.as_view()),
    url(r"^/logout$", LogoutAPI.as_view())
]
Run Code Online (Sandbox Code Playgroud)

此配置应允许URL:

/api/v1/account
/api/v1/account/login
/api/v1/account/logout
Run Code Online (Sandbox Code Playgroud)

这项工作符合我的目的,但我一直有类似的警告(我有几个API使用此规则定义,警告列表更大):

?: (urls.W002) Your URL pattern '^/login$' has a regex beginning with a '/'. Remove this slash as it is unnecessary.
?: (urls.W002) Your URL pattern '^/logout$' has a regex beginning with a '/'. Remove this slash as it is unnecessary.
Run Code Online (Sandbox Code Playgroud)

如果我删除斜杠,服务器将不会验证我定义的URL.为此,我必须有一个斜杠到网址的第一级,如:

# …
Run Code Online (Sandbox Code Playgroud)

python django url

7
推荐指数
2
解决办法
1950
查看次数

Nginx+uWSGI+Django 在大请求正文和过期会话时返回 502

我有一个 Django 视图,它以随机大小(20 个字符到 30k 个字符之间)处理 POST 请求。此 API 仅适用于注册用户,并使用会话标头进行验证。该 API 与我的测试用例配合良好,但我注意到 Nginx 日志中有一些 502。错误日志显示这一行::

2016/12/26 19:53:15 [error] 1048#0: *72 sendfile() failed (32: Broken pipe) while sending request to upstream, client: XXX.XXX.XXX.XXX, server: , request: "POST /api/v1/purchase HTTP/1.1", upstream: "uwsgi://unix:///opt/project/sockets/uwsgi.sock:", host: "staging.example.com"
Run Code Online (Sandbox Code Playgroud)

经过一些测试,我设法用一个大的主体请求重新创建了这个调用。

curl -XPOST https://staging.example.com/api/v1/purchase \
-H "Accept: application/json" \
-H "token: development-token" \
-H "session: bad-session" \
-i -d '{"receipt-data": "<25677 character string>"}'
HTTP/1.1 100 Continue

HTTP/1.1 502 Bad Gateway
Server: nginx/1.4.6 (Ubuntu)
Date: Mon, 26 Dec 2016 …
Run Code Online (Sandbox Code Playgroud)

django nginx uwsgi

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

Botocore 引发 OSError: [errno 14] 错误地址

OSError: [errno 14] Bad Address当我使用 pynamodb 模型时,我的 Python 服务器会产生随机数。这个问题发生在我的任何 pynamodb 模型中,并且很少发生。大多数呼叫都会成功。

当 botocore 从 file 读取时,会引发该错误/usr/local/lib/python3.7/site-packages/botocore/data/dynamodb/2012-08-10/service-2.json。我不知道为什么会发生这种情况以及为什么它是随机的。

我正在使用Python 3.7.3Django 2.2.2Pynamodb 3.3.3Gunicorn 19.9.0python:3.7-slim我正在由 Kubernetes 管理的Docker 基础上运行服务器。

例子:

  >>> from pynamodb.models import Model
  >>> class User(Model):
  ...     hash = UnicodeAttribute(hash_key=True)
  ...     username = UnicodeAttribute(null=True)
  ...     class Meta:
  ...         table_name = "user"
  ...         read_capacity_units = 10
  ...         write_capacity_units = 10
  ...         region = "us-west-2"
  ... 
  >>> user = User.get("valid-user-id")
  Traceback (most …
Run Code Online (Sandbox Code Playgroud)

amazon-dynamodb botocore python-3.7

5
推荐指数
0
解决办法
7535
查看次数

如何从供应商那里获取导入包?

我正在检查供应商的功能.这是很棒的安装所有包,但我无法设置go命令在供应商包中找到它们.

go run src/main.go

src/main.go:8:2: cannot find package "github.com/valyala/fasthttp" in any of:
   /home/joaonrb/.software/lib/go/go1.7/src/github.com/valyala/fasthttp (from $GOROOT)
   /home/joaonrb/.projects/go-blog/src/github.com/valyala/fasthttp (from $GOPATH)
Run Code Online (Sandbox Code Playgroud)

安装了Fasthttp /home/joaonrb/.projects/go-blog/src/vendor/github.com/valyala/fasthttp,我使用的版本是1.7,我的GOPATH是/home/joaonrb/.projects/go-blog

go glide-golang

4
推荐指数
1
解决办法
4483
查看次数

标签 统计

django ×2

go ×2

amazon-dynamodb ×1

botocore ×1

glide-golang ×1

nginx ×1

python ×1

python-3.7 ×1

url ×1

uwsgi ×1