小编dka*_*mer的帖子

Django Unit Testing需要很长时间才能创建测试数据库

一段时间以来,我的单元测试时间比预期的要长.我试图调试它几次没有太大的成功,因为延迟是在我的测试开始运行之前.这影响了我做任何远程接近测试驱动开发的能力(也许我的期望太高),所以我想看看我是否可以一劳永逸地解决这个问题.

运行测试时,测试开始和实际开始之间有70到80秒的延迟.例如,如果我为一个小模块运行测试(使用time python manage.py test myapp),我会得到

<... bunch of unimportant print messages I print from my settings>

Creating test database for alias 'default'...
......
----------------------------------------------------------------
Ran 6 tests in 2.161s

OK
Destroying test database for alias 'default'...

real    1m21.612s
user    1m17.170s
sys     0m1.400s
Run Code Online (Sandbox Code Playgroud)

大约1m18的1m:21之间

Creating test database for alias 'default'...
Run Code Online (Sandbox Code Playgroud)

.......
Run Code Online (Sandbox Code Playgroud)

线.换句话说,测试需要不到3秒,但数据库初始化似乎需要1:18分钟

我有大约30个应用程序,大多数有1到3个数据库模型,所以这应该给出项目大小的概念.我使用SQLite进行单元测试,并实现了一些建议的改进.我无法发布我的整个设置文件,但很高兴添加所需的任何信息.

我确实使用跑步者

from django.test.runner import DiscoverRunner
from django.conf import settings

class ExcludeAppsTestSuiteRunner(DiscoverRunner):
    """Override the default django 'test' command, exclude from testing
    apps which we know …
Run Code Online (Sandbox Code Playgroud)

python django django-unittest django-nose

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

尝试使用弹性beanstalk安装libjpeg-devel时出错

我正在尝试在AWS Elastic beanstalk上运行的Django应用程序上进行一些图像调整大小,所以我正在尝试安装Pillow来完成这项工作.

正如之前的一些帖子所述,我正在补充

packages:
  yum:
    libjpeg-devel: '6b'
Run Code Online (Sandbox Code Playgroud)

在我的.ebextension/myapp.config的顶部

我的requirements.txt包括:

Django==1.6.7
boto>=2.32.1
django-filter>=0.7
django-password-reset>=0.7
django-storages>=1.1.8
django-taggit==0.12
djangorestframework>=2.3.13
django-bootstrap3>=4.11.0
django-bootstrap3-datetimepicker>=2.2.3
python-dateutil>=2.2
pytz>=2014.2
six>=1.7.3
wsgiref==0.1.2
yolk==0.4.3
Pillow==2.5.3
googlemaps==1.0.2
MySQL-python>=1.2.5
Run Code Online (Sandbox Code Playgroud)

但当我eb start或者git aws.push,我在弹性beanstalk日志中得到以下错误:

2014-09-15 07:10:23,596 [INFO] Running configSet Infra-EmbeddedPreBuild
2014-09-15 07:10:23,598 [INFO] Running config prebuild_0_ampervue
2014-09-15 07:10:32,556 [ERROR] libjpeg-devel-6b is not available to be installed
2014-09-15 07:10:32,557 [ERROR] Error encountered during build of prebuild_0_ampervue: Yum    does not have libjpeg-devel-6b available for installation
Traceback (most recent …
Run Code Online (Sandbox Code Playgroud)

django libjpeg amazon-web-services pillow amazon-elastic-beanstalk

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

如何增加 boto3.s3.transfer 下载的令牌过期时间?

我正在使用 boto3 的 s3.transfer 从 s3 下载几个 4GB 以上的文件。除了一个之外,所有其他人都能够下载,但是失败的那个出现以下错误:

ERROR: An error occurred (ExpiredToken) when calling the GetObject operation: The provided token has expired.
Run Code Online (Sandbox Code Playgroud)

我使用它的方式与http://boto3.readthedocs.org/en/latest/_modules/boto3/s3/transfer.html上的文档相同

s3_client = session.client('s3')
transfer = S3Transfer(s3_client)
# Download s3://bucket/key to /tmp/myfile
transfer.download_file('bucket', 'key', '/tmp/myfile')
Run Code Online (Sandbox Code Playgroud)

有没有办法增加 boto3 中使用的签名 url 的过期时间?

如果相关的话,我正在使用 Cognito 来获取凭据,并使用它们进行会话

    client = boto3.client('cognito-identity', AWS_REGION)

    # credentials[] contains the IdentityId and Token I get from my server
    # which I get using client.get_open_id_token_for_developer_identity 
    # with TokenDuration=86400
    resp = client.get_credentials_for_identity(IdentityId=credentials['IdentityId'],
                                               Logins={'cognito-identity.amazonaws.com': credentials['Token']})

    # The …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services boto3

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

如何连接到现有的docker-machine(Azure)?

假设我使用以下命令创建一个新的Azure docker机器:

docker-machine create -d azure \
       --azure-subscription-id="$AZURE_SUBSCRIPTION_ID" \
       --azure-size=Standard_D14_v2 \
       --azure-subscription-cert="${PWD}/certs/mycert.pem" \
       --azure-location="East US" \
       my-azure-node
Run Code Online (Sandbox Code Playgroud)

在此之后,我可以在运行时看到my-azure-node docker-machine ls,ssh到它,并运行我想要的任何docker命令.

但现在我希望同事能够在同一台运行的机器上运行.所以,一旦我mycert.pem转到她(愚蠢的问题,但我甚至可以与她分享这个文件?).她如何初始化docker-machine,这样她在做的时候会看到同一台机器docker-machine ls,而不是试图创建一个新机器.

我基本上想拥有一台我们共享的docker机器,并且使用docker-machine的简单性来实现这一点.

azure docker docker-machine

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