小编ale*_*ine的帖子

如何在Mac OS X中生成核心转储?

好像我无法在Mac OS X 10.6.8中生成核心转储.

$ ulimit -c unlimited
$ ./a.out 
Hello world!
Segmentation fault
$ find ~/ -type f -name core 

# ls -la /cores/
total 0
drwxrwxr-t@  2 root  admin    68 24 jui  2010 .
drwxrwxr-t  31 root  admin  1122 17 oct 15:52 ..
Run Code Online (Sandbox Code Playgroud)

我当前的目录,我的HOME和/ cores /仍为空...

macos coredump

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

术语:跟踪 ID 与相关 ID

我试图理解以下术语之间的区别:

  • 迹线ID
  • 相关ID

这两个术语似乎都用作搜索多个服务产生的相关日志的标识符,尤其是在面向微服务的架构中。

这两者之间有细微的差别吗?

我们应该在我们的软件中使用这些术语中的哪一个?我们如何决定?

logging terminology distributed-system microservices

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

在Django模板中乘以-1

我想在Django模板中始终使用我的变量的正值.变量的符号只是一个文本含义:

{% if qty > 0 %}
  Please, sell {{ qty }} products.
{% elif qty < 0 %}
  Please, buy {{ -qty }} products.
{% endif %}
Run Code Online (Sandbox Code Playgroud)

当然,{{ -qty }}不起作用.

有没有传递包含绝对值的第二个变量的解决方法?像模板过滤器那样将值转换为无符号整数的东西.

谢谢!

django django-templates

8
推荐指数
2
解决办法
4446
查看次数

在Django中使用嵌套的@ transaction.commit_on_success

考虑这个简单的例子:

# a bank account class
class Account:
    @transaction.commit_on_success
    def withdraw(self, amount):
        # code to withdraw money from the account 

    @transaction.commit_on_success
    def add(self, amount):
        # code to add money to the account

# somewhere else
@transaction.commit_on_success
def makeMoneyTransaction(src_account, dst_account, amount):
    src_account.withdraw(amount)
    dst_account.add(amount)
Run Code Online (Sandbox Code Playgroud)

(取自https://code.djangoproject.com/ticket/2227)

如果异常进入Account.add(),Account.withdraw()则仍会提交事务并且资金将丢失,因为Django当前不处理嵌套事务.

如果不向Django应用补丁,我们怎样才能确保将提交发送到数据库,但只有当@transaction.commit_on_success装饰器下的main函数完成而没有引发异常时?

我遇到了这个片段:http://djangosnippets.org/snippets/1343/,看起来它可以完成这项工作.如果我使用它,我应该注意哪些缺点?

如果您能提供帮助,请提前感谢.

PS我正在复制先前引用的代码片段以实现可见性:

def nested_commit_on_success(func):
    """Like commit_on_success, but doesn't commit existing transactions.

    This decorator is used to run a function within the scope …
Run Code Online (Sandbox Code Playgroud)

django transactions

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

Docker 构建缓存会自动清除吗?

我无法确定 Docker 的本地构建缓存是否被自动清除。

如果清除的话,多久清除一次?这是我们可以配置的吗?是否有年龄限制或总缓存大小限制?

请注意,这个问题不是关于如何在构建镜像时绕过缓存,也不是如何手动清除缓存,也不是如何利用缓存机制来加速 Docker 构建。这些问题已经被广泛记录。这个问题的目的是了解 Docker 内部如何管理其构建缓存。如果不手动清除它会永远存在吗?它会自行过期吗?如何?

docker

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

在Mac OS X Lion上缺少llvm-gcc:无法安装mysql-python

我最近从10.6升级到Mac OS X 10.7.

我决定使用Python 2.7.

但是当我尝试安装MySQLdb模块来运行Django时,它失败了:

$ sudo pip install MySQL-python
Downloading/unpacking MySQL-python
  […]
  Running setup.py install for MySQL-python
    building '_mysql' extension
    llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -pipe -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/local/mysql/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _mysql.c -o build/temp.macosx-10.7-intel-2.7/_mysql.o -Os -g -fno-common -fno-strict-aliasing -arch x86_64
    unable to execute llvm-gcc-4.2: No such file or directory
    error: command 'llvm-gcc-4.2' failed with exit status 1
    Complete …
Run Code Online (Sandbox Code Playgroud)

xcode mysql-python llvm-gcc osx-lion

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

使用 save(update_fields = […]) 时强制 auto_now

模型定义:

class Footprint(models.Model)
  date = models.DateTimeField(auto_now = True)

class Stuff(Footprint):
  name = models.CharField(max_length = 255)
  some_other_field = models.CharField(max_length = 255)
Run Code Online (Sandbox Code Playgroud)

在一个Stuff对象中,我只想更新该name字段,并保持所有其他字段不变,除了在关联Footprint对象中定义的那些字段。

Footprint如果我不使用,对象中的字段会正确更新update_fields

s = Stuff.objects.get(pk = 1)
s.name = 'Alexander'
s.save()

s.date # is correctly set
Run Code Online (Sandbox Code Playgroud)

但是,如果我指定要更新的字段,则Footprint甚至不会保存相关联的字段。

s = Stuff.objects.get(pk = 1)
s.name = 'Tim'
s.save(update_fields = ['name'])

s.date # unfortunately, remains unchanged!!
Run Code Online (Sandbox Code Playgroud)

我必须使用update_fields以避免几个脚本之间的干扰。

同时,我想始终跟踪由“足迹”对象定义的上次修改(它包含上次修改日期以及其他几个字段;它们的更新由自定义save()方法触发)。

有没有办法强制调用Footprint.save()即使update_fields不包含任何字段 from Footprint

django model-inheritance

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

NFS4 共享的 Docker 卷中的文件锁支持

这是我的摘录docker-compose.yml

\n\n
volumes:\n  nfs_share:\n    driver: local\n    driver_opts:\n      type: nfs\n      o: addr=nfs_server,rw,noatime\n      device: ":/srv/nfs_share"\n
Run Code Online (Sandbox Code Playgroud)\n\n

该卷已正确安装在主机上。

\n\n

但是,在我的 docker 实例中,我无法使用文件锁。

\n\n

例子:

\n\n
# exec 3 > test_file\n# flock -x 3\nflock: 3: No locks available\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果我在主机上手动挂载分区,我可以毫无问题地使用文件锁。

\n\n

另外,我发现 Docker 没有使用正确的协议版本挂载 NFS 共享:

\n\n
:/srv/nfs_share on /var/lib/docker/volumes/registry_registry/_data type nfs (rw,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr={MYIPADDR},mountvers=3,mountproto=tcp,local_lock=none,addr={MYIPADDR})\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是,如果我在主机上手动挂载分区,则可以正确使用 NFS4:

\n\n
nfs:/srv/nfs_share on /mnt/nfs_share type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr={MYIPADDR},local_lock=none,addr={MYIPADDR})\n
Run Code Online (Sandbox Code Playgroud)\n\n

我尝试添加nolock选项,或者local_lock=all,这些选项似乎被忽略\xe2\x80\xa6 我也尝试指定该vers=4.0选项,或使用type: nfs4\xe2\x80\xa6 所有这些变体都不会改变任何内容。

\n

nfs file-locking docker docker-volume

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

如何获取RML模板中的总页数?

RML中有一个标记<pageNumber>,显示当前页码.

但是,如何获取生成的PDF文档的总页数?

我想添加像"Page 1/2","Page 2/2"这样的分页:

Page <pageNumber /> / <pageCount>
Run Code Online (Sandbox Code Playgroud)

<pageCount>标签不存在.

rml

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