小编Arb*_*ain的帖子

Visual Studio Code 使用一小时后占用了 10.7 GB RAM

它发生在今天,我突然注意到计算机上的进程开始变慢。所以我检查了任务管理器,看看是什么原因造成的。

在此处输入图片说明

我已经等了几分钟,通过保持 Visual Studio Code 的idle状态来查看它是否发生变化,然后我的计算机将内存转储到BSoD蓝屏死机)中。

重新启动后,我尝试了同样的方式重现状态,在20~30分钟内,它达到了5 GB。

在此处输入图片说明

0 909 4452 c:\Users\arbaz\.vscode\extensions\ms-python.python-2018.12.1\languageServer.0.1.72\Microsoft.Python.LanguageServer.exe

造成这种情况的可能原因是什么,我该如何解决?

最新版本:

Version:   1.30.0 (system setup)
Commit:    c6e592b2b5770e40a98cb9c2715a8ef89aec3d74
Date:      2018-12-11T22:29:11.253Z
Electron:  2.0.12
Chrome:    61.0.3163.100
Node.js:   8.9.3
V8:        6.1.534.41
OS:        Windows_NT x64 10.0.17134
Run Code Online (Sandbox Code Playgroud)
Version:          Code 1.30.0 (c6e592b2b5770e40a98cb9c2715a8ef89aec3d74, 2018-12-11T22:29:11.253Z)
OS Version:       Windows_NT x64 10.0.17134
CPUs:             AMD Ryzen 7 1700 Eight-Core Processor   (16 x 3000)
Memory (System):  15.95 GB (3.87 GB free)
VM:               40%
Screen Reader:    no
Process Argv:     C:\Users\arbaz\AppData\Local\Temp\tasks.py
GPU Status:       2d_canvas: …
Run Code Online (Sandbox Code Playgroud)

visual-studio-code vscode-settings

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

Django django.db.utils.OperationalError:致命:剩余连接槽保留用于非复制超级用户连接

  File "/usr/local/lib/python3.7/dist-packages/psycopg2/__init__.py", line 126, in connect    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: FATAL:  remaining connection slots are reserved for non-replication superuser connections
Run Code Online (Sandbox Code Playgroud)

根据 Postgres 文档,当 Django 与 Postgres DB 建立的连接数量超过默认连接限制时,就会发生此错误。

  • 我想知道 Django 启动/打开大量与数据库的连接的原因是什么。
  • 我想知道我们可以采取哪些最佳实践来防止出现异常。
  • 如何增加Postgres的默认连接限制?
#settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'xxxxx',
        'USER': 'xxxxx',
        'PASSWORD':'xxxxx',
        'HOST':'localhost',
        'PORT':'5432',
    }
Run Code Online (Sandbox Code Playgroud)

django postgresql django-models django-views postgresql-9.1

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

Elasticsearch上的JSONField解决方法:MapperParsingException

如何JsonField将Django模型的Postgres映射到ElasticSearch索引?有什么解决方法可以使其正常工作?

参考:https : //github.com/sabricot/django-elasticsearch-dsl/issues/36

  • models.py
class Web_Technology(models.Model):
    web_results = JSONField(blank=True,null=True,default=dict)
Run Code Online (Sandbox Code Playgroud)
  • web_results字段格式
{"http://google.com": {"Version": "1.0", "Server": "AkamaiGHost"}}
Run Code Online (Sandbox Code Playgroud)
  • documents.py
from elasticsearch_dsl import Index
from django_elasticsearch_dsl import Document, fields
from django_elasticsearch_dsl.registries import registry

from .models import Web_Technology

@registry.register_document
class WebTechDoc(Document):

    web_results = fields.ObjectField()

    def prepare_web_results(self, instance):
        return instance.web_results
    class Index:
        name = 'webtech'

    class Django:
        model = Web_Technology
        fields = []

Run Code Online (Sandbox Code Playgroud)
`? python3 manage.py search_index --create -f
Creating index '<elasticsearch_dsl.index.Index object at 0x7f5f7b07ed30>'
Traceback (most recent call last):
  File "manage.py", …
Run Code Online (Sandbox Code Playgroud)

python django django-models python-3.x elasticsearch

8
推荐指数
1
解决办法
131
查看次数

如何在 JSONField 上使用 django-filter

django-filter在 Model 的所有默认字段上都可以正常工作,但是当我们想要在 Postgres 字段(例如 JSONField)上使用它时就会出现问题

我有以下模型:

from django.contrib.postgres.fields import JSONField,ArrayField

class MyModel(models.Model):
    j_field = JSONField(blank=True,null=True,default=dict)
Run Code Online (Sandbox Code Playgroud)

j_field具有以下结构的数据:

[{"name":"john","work":"developer"},{"name":"cena","work":"teacher"}]
Run Code Online (Sandbox Code Playgroud)
  • 如何根据使用namework使用来过滤结果?j_fielddjango-filter
import django_filters

class MyModelFilter(django_filters.FilterSet)
  class Meta:
      model = MyModel 
        ...
        ...
        what's next?
Run Code Online (Sandbox Code Playgroud)

django django-templates django-models django-forms django-rest-framework

8
推荐指数
1
解决办法
4020
查看次数

什么时候应该在 Django 中使用 db_index=True?

我们什么时候应该定义db_index=True模型字段?

我正在尝试优化应用程序并想了解更多关于db_index我们应该在哪些条件下使用它?

文档说在模型字段上使用 db_index=True 可以加快查找速度,但在存储和内存方面略有不利。

我们应该db_index=True只在那些具有唯一值的字段上使用,比如主字段id吗?如果我们为那些不唯一且包含重复数据的字段启用索引会发生什么。

django django-models django-forms django-rest-framework

7
推荐指数
3
解决办法
3555
查看次数

Celery 任务在 Django 应用程序中多次执行

我有一个 Django 应用程序,我在其中定义了一些@task函数task.py以在给定的周期性任务中执行。我 100% 确定问题不是由task.py或任何相关代码引起的,而是由于某些配置可能在settings.py或我的芹菜工人中。

任务确实在周期性任务中执行,但会多次执行。

这是芹菜工人日志:

celery -A cimexmonitor worker --loglevel=info -B -c 4

[2019-09-19 21:22:16,360: INFO/ForkPoolWorker-5] Project Monitor Started : APPProject1
[2019-09-19 21:22:16,361: INFO/ForkPoolWorker-4] Project Monitor Started : APPProject1
[2019-09-19 21:25:22,108: INFO/ForkPoolWorker-4] Project Monitor DONE : APPProject1
[2019-09-19 21:25:45,255: INFO/ForkPoolWorker-5] Project Monitor DONE : APPProject1
[2019-09-20 00:22:16,395: INFO/ForkPoolWorker-4] Project Monitor Started : APPProject2
[2019-09-20 00:22:16,398: INFO/ForkPoolWorker-5] Project Monitor Started : APPProject2
[2019-09-20 01:22:11,554: INFO/ForkPoolWorker-5] Project Monitor DONE : APPProject2
[2019-09-20 …
Run Code Online (Sandbox Code Playgroud)

python django redis celery django-celery

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

Django ArrayField 过滤包含匹配

我正在使用 Django Postgres ArrayField

response_headers = ArrayField(models.TextField(blank=True),blank=True,null=True,default=list)
Run Code Online (Sandbox Code Playgroud)

假设我们的对象具有以下数据:

obj1 : response_headers = ["dubai","sydney","nyc"]
obj2 : response_headers = ["mumbai","kerela","dubai"]
Run Code Online (Sandbox Code Playgroud)
MyModel.objects.filter(response_headers__contains=['dubai']
Run Code Online (Sandbox Code Playgroud)

会回来obj1obj2但是

MyModel.objects.filter(response_headers__contains=['duba']
   or 
MyModel.objects.filter(response_headers__contains=['uba']
Run Code Online (Sandbox Code Playgroud)

不会返回任何对象<QuerySet []>

如何实现在 ArrayField 的所有索引中使用部分模式进行搜索的能力?

django django-templates django-models django-forms django-rest-framework

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

Django模板如何对简单标签返回的结果应用过滤器

我有一个以下 simple_tag。

@register.simple_tag
def Test(arg1,arg2)
   return arg1+arg2
Run Code Online (Sandbox Code Playgroud)

并在模板中。

 <h6>{% Test val.arg1 val.arg2 %}</h6>
Run Code Online (Sandbox Code Playgroud)

现在我想对测试中的上述returned数据应用过滤器simple_tag

例如,我想对naturaltime返回的数据应用过滤器,如何与简单标签一起执行此操作。

<h6>{% Test val.arg1 val.arg2 | naturaltime %}</h6>
Run Code Online (Sandbox Code Playgroud)

django django-templates django-models django-views django-rest-framework

2
推荐指数
1
解决办法
340
查看次数

我们如何完成 celery period_task 中的停止任务?

撤销 @periodic_task 发送的任务Discarding revoked tasks & Due task to workers.

芹菜工人屏幕截图

[2018-09-17 12:23:50,864: INFO/MainProcess] Received task: cimexapp.tasks.add[xxxxxxx]
[2018-09-17 12:23:50,864: INFO/MainProcess] Discarding revoked task: cimexapp.tasks.add[xxxxxxx] [2018-09-17 12:24:00,865: INFO/Beat] Scheduler: Sending due task cimexapp.tasks.add (cimexapp.tasks.add) [2018-09-17 12:24:00,869: INFO/MainProcess] Received task: cimexapp.tasks.add[xxxxxxx]
[2018-09-17 12:24:00,869: INFO/MainProcess] Discarding revoked task: cimexapp.tasks.add[xxxxxxx] [2018-09-17 12:24:10,865: INFO/Beat] Scheduler: Sending due task cimexapp.tasks.add (cimexapp.tasks.add) [2018-09-17 12:24:10,868: INFO/MainProcess] Received task: cimexapp.tasks.add[xxxxxxx]
[2018-09-17 12:24:10,869: INFO/MainProcess] Discarding revoked task: cimexapp.tasks.add[xxxxxxx]


任务.py

@periodic_task(run_every=timedelta(seconds=10),options={"task_id":"xxxxxxx"})
def add():
     call(["ping","-c10","google.com"])


def stop():
    x = revoke("xxxxxxx",terminate=True,signal="KILL")
    print(x) …
Run Code Online (Sandbox Code Playgroud)

django celery celery-task django-celery celerybeat

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