小编kev*_*kev的帖子

Django1.6 transaction.atomic问题

我刚刚切换到Django 1.6(使用Posgres 9.1)并且有一些我无法自己回答的问题:

  1. (已回答)是否有一个声明打印/显示我当前在一个或多个以及哪些transaction.atomic块中?

  2. (已回答)我既没有TransactionMiddleware启用也没有设置ATOMIC_REQUESTS为True.所以默认情况下我的代码没有包含在一个transaction.atomic块中,对吗?

  3. transaction.atomic块内执行时,通过游标执行的sql语句是否正确提交?有没有其他/更好的方法来提交它们?

    with transaction.atomic():
        cursor = connection.cursor()
        cursor.execute(sql)
    
    Run Code Online (Sandbox Code Playgroud)
  4. 我是否需要包裹cursor.executemany()一个transaction.atomic块或者执行是否已经原子地执行?

  5. 如何查看当前autocommit状态?何时在连接开始时将事务设置为全局数据库设置?

django transactions atomic postgresql-9.1 django-1.6

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

Celerybeat计划多次执行任务?

我有一个任务calculate_common_locations,它运行一次CELERYBEAT_SCHEDULE.该任务只是调用数据库中的函数:

@app.task
def calculate_common_locations():
    db.execute("SELECT * FROM calculate_centroids('b')")
Run Code Online (Sandbox Code Playgroud)

这是条目CELERYBEAT_SCHEDULE:

CELERYBEAT_SCHEDULE = {
   'common_locations': {
        'task': 'clients.tasks.calculate_common_locations',
        'schedule': crontab(hour=23, day_of_week='sun'), #every week
    },
    [..]
}
Run Code Online (Sandbox Code Playgroud)

该计划包括每天运行一次每10秒运行一次的更多任务.这些任务似乎没有多次重新运行.芹菜花显示任务执行超过20次.第一个按计划启动,运行约100秒,成功然后再次启动.

在此输入图像描述

只有一个celerybeat运行:

ps -Af | grep celerybeat 
foo     24359   779  0 01:53 ?        00:00:04 [celeryd: celery@celery:MainProcess] -active- (worker --beat --app=cloud.celeryapp:app --concurrency=10 -l INFO -s /home/foo/run/celerybeat-schedule --pidfile=/home/foo/run/celerybeat.pid)         
Run Code Online (Sandbox Code Playgroud)

这就是芹菜的开始方式(通过supervisord):

celery worker --beat --app=cloud.celery app:app --concurrency=10 -l INFO -s /home/foo/run/celerybeat-schedule --pidfile=/home/foo/run/celerybeat.pid
Run Code Online (Sandbox Code Playgroud)

我没有使用--concurrency = 10 …

python database django celery celerybeat

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

使用固定数量的聚类在Python中聚类纬度经度点

对于地理空间坐标,kmeans无法正常工作 - 即使将距离函数更改为此处所述的半径也是如此.

我看了一下DBSCAN,它不允许我设置固定数量的集群.

  1. 是否有任何算法(如果可能的话,在python中)与kmeans具有相同的输入值?要么
  2. 我可以轻松地将纬度,经度转换为欧几里德坐标(x,y,z),并在此处进行计算吗?

它不一定非常准确,但如果愿意的话会很好.

python gis geospatial latitude-longitude k-means

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

RabbitMQ:无法启动rabbitmq_management插件

版:

> sudo rabbitmqctl status | grep '{rabbit,"RabbitMQ",'
      {rabbit,"RabbitMQ","3.5.6"},
Run Code Online (Sandbox Code Playgroud)

错误:

> sudo rabbitmq-plugins enable rabbitmq_management

Plugin configuration unchanged.

Applying plugin configuration to rabbit@ip-172-31-26-169... failed.
 * Could not contact node rabbit@ip-172-31-26-169.
   Changes will take effect at broker restart.
 * Options: --online  - fail if broker cannot be contacted.
            --offline - do not try to contact broker.
Run Code Online (Sandbox Code Playgroud)

兔子正在运行:

> sudo service rabbitmq-server status
Status of node 'rabbit@ip-172-31-26-169' ...
[{pid,22865},
..
Run Code Online (Sandbox Code Playgroud)

rabbitmq

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

如何grep“U+2028”?

git diff向我展示了我的代码中的一些内容:

                     <div style={styles.loadingContainer}><U+2028>
                         <CircularProgress />
-                    </div><U+2028>
+                    </div>
Run Code Online (Sandbox Code Playgroud)

我想 grep 所有文件来查找并删除它们。他们搞砸了设计,到目前为止花了我 3 个小时:-(

git unicode diff

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

如何从boto导入特定错误?

运行我的代码时,我收到此异常(打印类进行调试):

An error occurred (DBInstanceNotFound) when calling the DescribeDBInstances operation: DBInstance <instance name> not found.
<class 'botocore.errorfactory.DBInstanceNotFoundFault'>
Run Code Online (Sandbox Code Playgroud)

我想像这样正确处理异常:

from botocore.exceptions import DBInstanceNotFoundFault
from botocore.errorfactory import DBInstanceNotFoundFault
try:
    <fetch info about db instance>
except DBInstanceNotFoundFault as e:
    <handle error>
Run Code Online (Sandbox Code Playgroud)

不幸的是DBInstanceNotFoundFault既没有在存在botocore.exceptions也不botocore.errorfactory.我已经克隆了boto3以及botocoregrep'd for DBInstanceNotFoundFault但是找不到它.

我该如何导入它?

boto3

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

Pycharm:在选择文本上禁用复制

场景:我正在尝试将某些内容复制Pycharm 中。在 Pycharm 中意外选择某些内容(甚至是空行)时,它会被复制并覆盖缓冲区。粘贴然后粘贴空行(或任何被选中的)而不是我最初复制的内容。

是否有可能避免这种行为?

copy-paste pycharm

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

importlib 找不到模块

猫测试.py

from importlib import import_module

bar = import_module('bar', package='project')
Run Code Online (Sandbox Code Playgroud)

ls项目/

__init__.py  
__init__.pyc
bar.py
bar.pyc
Run Code Online (Sandbox Code Playgroud)

蟒蛇测试.py

Traceback (most recent call last):
  File "test.py", line 5, in <module>
    bar = import_module('bar', package='project')
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: No module named bar
Run Code Online (Sandbox Code Playgroud)

列出导入的模块(sys.modules)不显示任何模块项目

我可以使用 python shell导入bar 。

有任何想法吗?

python python-importlib

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

如何删除推送的Docker镜像?

Image 0dd747e33c96 already pushed, skipping
Image 9ebea32a283d already pushed, skipping
Image 3690474eb5b4 already pushed, skipping
Image cbf4c83202ff already pushed, skipping
Image 09ddd09520af already pushed, skipping
Run Code Online (Sandbox Code Playgroud)

如何从私有docker 注册表中删除这些镜像?(这是 v1)?我可以访问服务器。

我为什么要这么做?我正在通过 Jenkins docker 插件构建一个图像,它只是不会将更改推送到注册表。以当地作品为基础。

我也很乐意强行覆盖它们。

docker docker-registry

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

如何自动将git切换到新创建的分支?

1: git checkout master
2: git branch feature
3: git commit 'commit msg'
Run Code Online (Sandbox Code Playgroud)

我期待git在第2行切换分支(但它不是真的很烦人,因为我必须恢复在master上的签入).

有没有办法让git切换分支?

git git-branch

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