小编Tre*_*ent的帖子

什么是Python的默认日志记录格式化程序?

我正在尝试破译日志中包含的信息(日志记录设置使用默认格式化程序).该文件规定:

对记录进行格式化 - 如果设置了格式化程序,请使用它.否则,请使用模块的默认格式化程序.

但是,我找不到任何实际说明这种默认格式的引用.

python logging

34
推荐指数
3
解决办法
2万
查看次数

管道这里记录命令到日志文件

通常我会使用以下构造将输出管道输出到日志文件,同时保持输出也在显示器上

./command 2>&1 | tee output.log
Run Code Online (Sandbox Code Playgroud)

我正在尝试做类似的事情,但使用这里的文档:

./command << HEREDOC
params
HEREDOC 2>&1 | tee output.log
Run Code Online (Sandbox Code Playgroud)

这不起作用 - 是否有可能实现这一目标?

bash heredoc

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

Java如何内联虚拟功能边界?

我正在阅读一些关于Java是否比C++更快的材料,并且遇到了以下引用:

Java可以比C++更快,因为JIT可以内联虚拟功能边界.

为什么Java总是比C++慢(返回链接)

这是什么意思?这是否意味着JIT可以内联虚函数调用(因为可能它可以访问运行时信息)而C++必须通过其vtable调用函数?

java jit function

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

celerybeat即使使用时区设置也使用UTC

我发现celerybeat在其日程安排中使用UTC时间(并在英国时间输出日志?!),即使我相信我在django settings.py中有所需的设置:

TIME_ZONE = 'UTC'
USE_TZ = True
CELERY_ENABLE_UTC = True
CELERY_TIMEZONE = 'Australia/Sydney'
CELERYBEAT_SCHEDULE = 
    "testRunBeat" : {
        "task" : "experiments.tasks.testHeartBeat",
        "schedule" : crontab(minute = "*/1", hour="13-14"),    
}
Run Code Online (Sandbox Code Playgroud)

我试过没有运气就切换了TIME_ZONE变量

我在用:

django==1.4
celery==2.5.5
django-celery==2.5.5
Run Code Online (Sandbox Code Playgroud)

谢谢

celerybeat

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

在开发Django中select_for_update

Django文档指出:

如果你依靠"自动事务"在select_for_update()和后续的写操作之间提供锁定 - 一个极其脆弱的设计,但仍然可能 - 你必须将相关代码包装在atomic()中.

这不再有效的原因是自动提交是在数据库层而不是应用层完成的吗?以前,在调用数据更改函数之前,事务将保持打开状态:

Django的默认行为是使用一个打开的事务运行,当调用任何内置的数据更改模型函数时它会自动提交

从Django 1.6开始,在数据库层使用autcommit,a select_for_update后跟例如a write实际上会在两个事务中运行?如果是这种情况,那么没有select_for_update变得无用,因为它的意思是锁定行直到调用数据更改函数

django locking transactions pessimistic-locking

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

附加到进程的Eclipse CDT调试 - 不是可执行格式:无法识别文件格式

我正在尝试使用Eclipse和CDT来调试64位二进制文​​件.二进制文件是在Eclipse之外构建的,运行正常.我在eclipse之外启动二进制文件,然后尝试使用'C/C++ Attach to Application'调试配置类型附加到进程.

我可以从运行调试配置时弹出的列表中选择进程,但是,我收到以下错误消息:

Error in final launch sequence
Failed to execute MI command:
attach 22014
Error message from debugger back end:
"program.x64": not in executable format: File format not recognized
Run Code Online (Sandbox Code Playgroud)

如果我为i386目标构建,一切正常.

我不太清楚在哪里使用它,我已经读过它可能与Eclipse中的二进制解析器有关:

此链接提到解析器,此链接描述了已修复的PE解析器的错误.

我在Linux x64上使用Eclipse CDT 8.0.0运行Eclipse Indigo.我在project_properties/c ++ _ build/settings下尝试了'Elf Parser'和'GNU Elf Parser',但没有运气.

档案信息:

hostmachinea:file program.x64 
programs.x64: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
Run Code Online (Sandbox Code Playgroud)

GDB和gdbinit文件是Eclipse的默认值

eclipse gdb eclipse-cdt

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

升级到django 1.4后,Eclipse中的Django应用程序将无法运行

升级到Django 1.4后,我现在收到以下错误消息:

raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'settings.py' (Is it on sys.path?): No module named py
Run Code Online (Sandbox Code Playgroud)

我读到它可能与pydev 2.4有关,例如:这里,所以我将pydev升级到最新版本2.5.我正在使用eclipse indigo.

我开始看看运行cnofiguration,并注意到django 1.3 egg仍然被引用.所以我去了windows/preferences/pydev/interpreter-python,并且在系统PYTHON路径中引用了1.3 egg.

为了尝试纠正这个问题,我删除了现有的python解释器,并重新添加了一个新的解释器.我的python是从venv运行的,所以我添加了这个.出现错误:

错误信息

我不认为这是相关的,但我可以看到/ venv/lib出现在System PYTHONPATH列表中,而在Windows中,该文件夹被称为/ venv/Lib,所以我也添加了它.新的django鸡蛋还没有包括在内,所以我在"图书馆"窗口下手动添加了这个.

但是,我仍然收到错误消息.

该应用程序从命令行运行良好.

eclipse windows django pydev

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

Emacs lisp - 自动填充书签名称

我是elisp的新手.http://www.gnu.org/s/emacs/manual/html_node/elisp/Interactive-Codes.html#Interactive-Codes列出交互式参数的"代码字符",AFAIK在提示时修改输入机制的行为用户输入(例如:如果您指定输入是存在的文件名,emacs的自动完成功能将查找存在的文件名).

我试图找到一个已经存在的书签名称的代码 - 即:Emacs会提示用户输入一个书签名称,并在压片Emacs会显示可能的书签名称的完成.

这样的代码存在吗?

emacs bookmarks elisp

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

valgrind在多线程套接字程序中停止

我正在用valgrind运行多线程套接字程序.客户端将通过TCP向服务器发送请求,然后忙于等待布尔值.当调用服务器响应服务的回调函数时,将设置布尔值.一旦收到响应(并设置了布尔标志),服务器将再次发出请求,并在循环中重复执行此操作.

我意识到对共享变量的非同步访问(布尔值)会导致线程问题,但我尝试使用pthread互斥,并且程序减慢了大约20%(速度在这里很重要).我有信心写共享布尔变量很好,因为它可以在一个循环中完成.

该程序在valgrind之外运行良好,但在使用valgrind运行时经常会失速.我让程序一夜之间运行..通常需要几秒钟才能完成,所以我不认为这是一个不等待程序完成的情况.线程由开源引擎框架(快速修复)管理,因此我不认为这是如何创建/管理线程的问题.

有没有人知道valgrind在多线程程序/忙等待循环/套接字通信(或这些的组合)周围的任何问题?

multithreading valgrind

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

捕获 Django 异常时返回 JSON 错误?

有没有人对让中间件捕获异常的最佳方式有意见,而不是将错误呈现到 HTML 模板中,而是返回 JSON 对象?目前我有下面的中间件来捕获异常,如果它可以找到额外的用户错误消息,则将其放入请求中(然后模板会接收)。

类 ExceptionUserErrorMessageMiddleware(object):
    def process_exception(自我,请求,异常):
        """ 如果异常包含与用户相关的信息,则 
        将其粘贴到请求对象上"""

        theFormat = djrequest.get_getvar(request, settings.FORMAT_PARAM, "")
        msg = getMessage(异常)
        如果消息:
            setattr(请求,USER_ERROR_MESSAGE_ATTR,味精)

        如果格式==“json”:
            打印“做某事”

在这里返回 json 对象的最佳方式是什么?我应该设置任何额外的标题吗?

对于不通过中间件的特殊情况,有没有办法做同样的事情(我很确定 404 没有,还有其他的)?

django json exception-handling

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