小编Nik*_*as9的帖子

在 Django 中 Ping MySQL 以保持连接处于活动状态

我有一堆工人在等待任务(使用 Django 作为 ORM)。我的问题是,如果在给定的时间内没有任务(无论 MySQL wait_timeout 变量设置为什么),MySQL 连接就会超时,因此工作人员会死亡。

我解决这个问题的第一种方法是简单地将 wait_timeout 增加到一个更高的整数,但我认为更好的解决方案可能是每 30 分钟左右 ping MySQL,如果没有保持连接活动的任务。

所以我的问题是;我如何使用 Django ORM 简单地 ping MySQL 来保持连接活跃?这里的最佳实践是什么,只做一个简单的愚蠢查询?

python mysql django rabbitmq

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

在Google Adwords脚本中加载外部JS文件

我正在寻找一种方法来将外部Javascript库加载到我的Google Adwords Scripts IDE.我在文档中找不到任何内容,或通过URLFetchApp API(https://developers.google.com/apps-script/reference/url-fetch/)执行JS .有没有人试过这个或有任何想法?

我知道可以在例如JQuery中执行此操作,但是从我在源代码中看到的内容,它们实现它的方式是添加HTML脚本标记并让浏览器加载它.由于我不在这个环境中的浏览器中,这是不可能的..我猜我在某些V8引擎环境中.

javascript google-adwords

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

NSQ 消息的最大大小是多少?

我正在针对特定项目使用 NSQ ( http://nsq.io/ ) 进行评估。这个想法是建立一个数据管道,其中每个步骤都是一个作业,并且状态理想地位于消息正文中。

这让我开始思考潜在的最大消息大小。我找不到有关该主题的任何文档。可以是任意尺寸吗?我想如果消息太大而无法放入内存,则会影响性能。

nsq

5
推荐指数
2
解决办法
3025
查看次数

重用MySQL中单个SELECT查询的结果

我有这个查询,这是一个包含3个SELECT的单个查询:

SELECT a
FROM tbl
WHERE   b IN ((SELECT a FROM tbl WHERE b = 44))
AND NOT a IN ((SELECT a FROM tbl WHERE b = 44))
Run Code Online (Sandbox Code Playgroud)

查询

SELECT a FROM table WHERE b = 44
Run Code Online (Sandbox Code Playgroud)

是完全相同的,我猜测数据库运行了2次,即使它由于缓存等第二次应该更快.

有没有一种方法可以在SQL或特定于MySQL的方法中重用100%的结果来执行查询?

或者有关如何加快此查询的任何其他想法?

我正在使用MySQL 5.7.

mysql sql

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

在Apache/mod_python/Django中运行beautifulsoup4的问题

我正在尝试使用Django中的BeautifulSoup版本4(使用带有mod_python的Apache2)动态呈现HTML页面.但是,只要我将任何HTML字符串传递给BeautifulSoup构造函数(请参阅下面的代码),浏览器就会挂起等待Web服务器.我在CLI中尝试了相同的代码,它就像一个魅力.所以我猜它是与BeautifulSoups环境相关的东西,在这种情况下是Django + Apache + mod_python.

import bs4
import django.shortcuts as shortcuts

def test(request):
    s = bs4.BeautifulSoup('<b>asdf</b>')
    return shortcuts.render_to_response('test.html', {})
Run Code Online (Sandbox Code Playgroud)

我用pip安装了BeautifulSoup pip install beautifulsoup4.我尝试使用标准的Debian软件包安装BeautifulSoup3 apt-get install python-beautifulsoup,然后以下等效代码工作正常(来自浏览器和CLI).

from BeautifulSoup import BeautifulSoup
import django.shortcuts as shortcuts

def test(request):
    s = BeautifulSoup('<b>asdf</b>')
    return shortcuts.render_to_response('test.html', {})
Run Code Online (Sandbox Code Playgroud)

我查看了Apaches访问和错误日​​志,它们没有显示发生停顿的请求的信息.我还检查了/ var/log/syslog和/ var/log/messages,但没有进一步的信息.

这是我使用的Apache配置:

<VirtualHost *:80>
    DocumentRoot /home/nandersson/src
    <Directory /home/nandersson/src>
        SetHandler python-program
        PythonHandler django.core.handlers.modpython
        SetEnv DJANGO_SETTINGS_MODULE app.settings
        PythonOption django.root /home/nandersson/src
        PythonDebug On
        PythonPath "['/home/nandersson/src'] + sys.path"
    </Directory>

    <Location "/media/">
        SetHandler None
    </Location>
    <Location "/app/poc/">
        SetHandler None …
Run Code Online (Sandbox Code Playgroud)

python apache django mod-python beautifulsoup

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

在 nginx 中自动版本控制 CSS/JS

我有一个设置,其中 nginx 提供所有静态内容(CSS/JS)。我们的问题是,当我们更新静态内容时,浏览器不一定会立即更新它们,这会导致我们在推送新版本时出现问题。

我想要一个 nginx 插件,它基本上可以替换对 CSS/JS 的所有调用,并添加一个版本号,如下所示:

前:

<link rel="stylesheet" type="text/css" href="/media/css/style.css" />
Run Code Online (Sandbox Code Playgroud)

后:

<link rel="stylesheet" type="text/css" href="/media/css/style.css?3428432" />
Run Code Online (Sandbox Code Playgroud)

并根据 style.css 文件本身的最新更改日期自动执行此操作。所以我不必更新 HTML。有这个插件吗?我知道谷歌的 mod_pagespeed 在他们的 apache2 模块中做了类似的事情......但我找不到任何人使用 nginx。

versioning nginx auto-versioning

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

下划线模板不在骨干中呈现

我正在尝试使用backbone.js,underscore.js和jquery的最新生产版本的一个简单示例(请参阅下面的完整代码).但是我无法在屏幕上显示任何内容.我已经尝试记录这个.$ el到控制台日志,它似乎有效,html var包含来自测试模板的正确解析的HTML.但浏览器窗口中没有显示任何内容.

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>testing Backbone.js</title>
  </head>
  <body>

      <script type="text/template" id="test-template">
      <div id="container">
          <%= test %>
      </div>
      </script>

      <script type="text/javascript" src="js/lib/jquery.js"></script>
      <script type="text/javascript" src="js/lib/underscore.js"></script>
      <script type="text/javascript" src="js/lib/backbone.js"></script>
      <script type="text/javascript">
        var testView = Backbone.View.extend({
            el: $("#container"),
            template: _.template($('#test-template').html()),
            render: function() {
                var html = this.template({test: 'hello World!'});
                this.$el.html(html);
                return this;
            }
        });

        $(document).ready(function() {
            var test = new testView();
            test.render();
        });
      </script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript jquery backbone.js underscore.js

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

查询mongoengine中的列表; 包含vs in

我在带有id(ReferenceField)的模型中有一个ListField,如果某个id在该列表中,我需要进行查询.AFAIK我有两种选择:

Model.objects.filter(refs__contains='59633cad9d4bc6543aab2f39')
Run Code Online (Sandbox Code Playgroud)

要么:

Model.objects.filter(refs__in=['59633cad9d4bc6543aab2f39'])
Run Code Online (Sandbox Code Playgroud)

哪一个对这个用例最有效?

该模型看起来像:

class Model(mongoengine.Document):
    refs = mongoengine.ListField(mongoengine.ReferenceField(SomeOtherModel))
Run Code Online (Sandbox Code Playgroud)

从我在mongoengine文档中可以看到的,http: //docs.mongoengine.org/guide/querying.html#string-queries,contains 实际上是一个字符串查询,但它在这里也令人惊讶地工作.但我猜__in更有效率,因为它应该针对列表进行优化,或者我错了?

python mongodb mongoengine

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

支持引号的XML转义字符串的静态python方法

我有一个字符串,其中包含XML转义字符和非转义字符,我需要它是100%XML有效,例如:

>>> s = '< &lt;'
Run Code Online (Sandbox Code Playgroud)

我希望这是:

>>> s = '&lt; &lt;'
Run Code Online (Sandbox Code Playgroud)

我尝试了很多方法,lxml,cgi等..但是他们都希望输入字符串不具有任何有效的XML字符:

>>> import cgi
>>> cgi.escape("< &lt;")
'&lt; &amp;lt;'
Run Code Online (Sandbox Code Playgroud)

要么

>>> from xml.sax.saxutils import escape
>>> escape("< &lt;")
'&lt; &amp;lt;'
Run Code Online (Sandbox Code Playgroud)

对此已经没有标准方法吗?

有人必须有同样的问题:)

python xml lxml

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

所有 IPv4 地址的 CIDR 表示法是什么?

例如,IPv4 块的 CIDR 表示法192.168.100.0/22表示从192.168.100.0到的 1024 个 IPv4 地址192.168.103.255

我处于默认情况下所有内容都被阻止的环境中,因此需要在端口 443 上打开完整的 IPv4 地址空间,以便通过 https 访问世界。

所有 IPv4 地址的 CIDR 表示法是什么?

networking

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