小编Jac*_*son的帖子

Javafx Pane vs Region?

根据文档,Region和Pane都会将任何可调整大小的子节点的大小调整为其首选大小,但不会重新定位它们.

所以我看不出这两个容器之间的差异在何处以及何时使用这些差异.

java javafx javafx-2

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

如何限制Python进程的I/O消耗(可能使用ionice)?

我希望一组特定的Python子进程尽可能低影响.我已经使用nice来帮助限制CPU消耗.但理想情况下I/O也会受到限制.(如果持怀疑态度,请幽默我,并假设这样做有价值;无论运行多长时间都没关系,可能会有很多,并且有更高优先级的东西(通常)继续同一台机器等)

似乎有一种可能性ionice.是否有任何现有的Python包用于调用ionice(谷歌没有发现任何东西)?编写代码来简单地运行ionice命令并不困难; 但我宁愿避免编写别人编写/测试的代码; 有时会有微妙的边缘情况等等.而且,是否有更好的方法来限制I/O消耗?

ionice手册页表明该ionice值可能会受到值的影响nice,但运行此Python 2.6脚本似乎反驳了这一点,即使对于nice继承了值的子进程:

#!/usr/bin/env python

import os
import multiprocessing

def print_ionice(name):
    print '*** ', name, ' ***'
    os.system("echo -n 'nice: '; nice")
    os.system("echo -n 'ionice: '; ionice -p%d" % os.getpid())

for niced in (None, 19):
    if niced: os.nice(niced)
    print '**** niced to: ', niced, ' ****'
    print_ionice('parent')
    subproc = multiprocessing.Process(target=print_ionice, args=['child'])
    subproc.start()
    subproc.join()
Run Code Online (Sandbox Code Playgroud)

其中有以下输出:

$ uname -as
Linux x.fake.org 2.6.27-11-server …

python unix linux performance

13
推荐指数
2
解决办法
3812
查看次数

Python相当于maplist?

什么是最好的Python相当于Common Lisp的maplist功能?从地图列表文档:

maplist与mapcar类似,不同之处在于该函数应用于列表的连续子列表.函数首先应用于列表本身,然后应用于每个列表的cdr,然后应用于每个列表的cdr的cdr,依此类推.

示例(伪代码,未测试):

>>> def p(x): return x
>>> maplist(p, [1,2,3])
[[1, 2, 3], [2, 3], [3]]
Run Code Online (Sandbox Code Playgroud)

:传递给的参数p在上面的例子中会列表[1, 2, 3],[2, 3],[3],即,p不适用于这些列表的元素.例如:

>>> maplist(lambda l: list(reversed(l)), [1,2,3])
[[3, 2, 1], [3, 2], [3]]
Run Code Online (Sandbox Code Playgroud)

lisp python functional-programming

11
推荐指数
2
解决办法
1834
查看次数

如何从SQLAlchemy控制MySQL超时?

使用SQLAlchemy从客户端运行MySQL数据库时,控制超时的正确方法是什么?该connect_timeoutURL参数似乎是不够的.

我对运行数据库的机器发生的事情更感兴趣,例如,意外地从网络中消失.我并不担心查询本身需要太长时间.

如果somehost 到达while循环之前不可用,则以下脚本执行您期望的操作(即,大约一秒后超时).但是,如果,某下降过程中while循环(例如,尝试唬弄了其网线循环开始后),然后超时似乎至少需要18秒.我缺少一些额外的设置或参数吗?

wait_timeout会话变量不起作用并不奇怪,因为我认为这是一个服务器端变量.但我把它扔在那里只是为了确保.

from sqlalchemy import *
from sqlalchemy.exc import *
import time
import sys

engine = create_engine("mysql://user:password@somehost/test?connect_timeout=1")
try:
    engine.execute("set session wait_timeout = 1;")
    while True:
        t = time.time()
        print t
        engine.execute("show tables;")
except DBAPIError:
    pass
finally:
    print time.time() - t, "seconds to time out"
Run Code Online (Sandbox Code Playgroud)

python mysql sqlalchemy

9
推荐指数
1
解决办法
5474
查看次数

在Web服务中实际使用MySQL保存点?

有没有人有经验可以使用MySQL 保存点(直接或通过ORM)共享,特别是在非平凡的Web服务中?你在哪里实际使用过它们?它们是否足够可靠(假设您愿意运行相当新版本的MySQL)或过于尖端或昂贵?

最后,是否有人有类似以下用例的经验并且您是否使用了保存点?假设某个特定工作单元的要点是在一个Orders表中添加一行(或者其他什么,当然不必与订单相关)并OrdersAuditInfo在同一事务中更新表.必要时Orders尽可能更新,但OrdersAuditInfo表不是必需的(例如,只需将错误记录到文件中,但继续整个事务处理).在低级别它可能看起来像这样(警告,伪SQL跟随):

BEGIN;

INSERT INTO Orders(...) VALUES (...);
/* Do stuff outside of SQL here; if there are problems, do a
 ROLLBACK and report an error (i.e., Order is invalid in this
 case anyway). */

SAVEPOINT InsertAudit;
INSERT INTO OrdersAudit(...) VALUES(...);
/* If the INSERT fails, log an error to a log file somewhere and do: */
ROLLBACK TO SAVEPOINT InsertAudit;

/* Always want to commit the INSERT INTO Orders: …
Run Code Online (Sandbox Code Playgroud)

mysql database web-services transactions nested-transactions

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

有没有简单的方法来判断等待Python GIL花了多少时间?

我有一个长期运行的Python服务,我想知道等待GIL的任何可运行线程(即,由于某些其他原因未被阻止的线程)花费了多少累积挂钟时间.是否有捷径可寻?例如,也许我可以定期将一些计数器转储到其日志文件中.

我的潜在动机是排除GIL作为这些长期运行过程中神秘响应延迟的来源.没有特别的理由怀疑GIL(除了它适合症状),但其他形式的日志记录还没有发现任何东西,因此,如果它很容易,那么拥有这些信息会很好.

python multithreading

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

MySQL的INTERVAL和UTC_TIMESTAMP的sqlite等价物是什么?

什么是sqlite等价的INTERVALUTC_TIMESTAMP?例如,假设您将以下SQL从MySQL"移植"到sqlite:

SELECT mumble
  FROM blah
 WHERE blah.heart_beat_time > utc_timestamp() - INTERVAL 600 SECOND;
Run Code Online (Sandbox Code Playgroud)

mysql sqlite

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

使用swank/slime了解Clojure中的输出

当我在emacs中从Swank repl运行Clojure代码时,主线程将使用printf将消息打印到repl.但是如果我运行代理或显式创建其他也打印的线程,有时输出不会显示,有时它会显示在我运行Swank的控制台窗口中.我很想知道为什么.

编辑:感谢丹尼尔的回答下面我现在知道了其他线程不必绑定到REPL的输出.此代码有效,因为您从运行的位置传出.但是我的新问题是这个代码现在阻塞每个线程,所以不是并行运行,而是每次运行一个线程,所以我需要一个更多线程感知的输出方法.

(defn sleeper-thread [out id t]
  "Sleep for time T ms"
  (binding [*out* out]
    (printf "%d sleeping for time %d\n" id t)
    (Thread/sleep t)
    (printf "%d slept\n" id)))

(defn test-threads [n out]
  (dotimes [x n]
    (.start (Thread. (#(sleeper-thread %1 %2 %3) out x (+ 2000 (rand-int 5000)))))))
Run Code Online (Sandbox Code Playgroud)

printf multithreading clojure slime

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

在RxJava中组合未知数量的Observable

我有一种情况,我必须根据请求创建N个 Observable对象.我知道我可以zip用来组合一定数量的Observables.但是,我试图理解如何组合未知数量的Observable.

我不清楚的部分是传递给哪些功能zip.根据Observable的数量,我必须创建一个带有N个参数的lambda .

所有Observable都返回不同类型的对象.

java concurrency asynchronous java-ee rx-java

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

使用关联列表而不是记录是否是个好主意?

任何有经验的Erlang程序员都会推荐关联记录吗?

一种情况可能是不同机器上的两个(或更多)节点正在交换消息.我们希望能够独立升级每台机器上的软件.某些升级可能涉及向正在发送的一个(或多个)消息添加字段.似乎使用记录,因为消息意味着你总是必须在锁定步骤中对两台机器进行升级,以便额外的字段不会导致接收器忽略记录.然而,如果您使用类似关联列表(仍然具有"类似记录"API)的内容,尚未升级的接收器仍将成功接收消息并忽略新字段.我意识到这并不总是理想的行为,但往往是这样.此外,假设消息相当小,因此查找时间无关紧要.

假设上述内容有一定道理,我还有以下其他问题:

  • 是否有一个标准(或广泛使用)的图书馆?一些琐碎的谷歌搜索没有发现任何东西.
  • 在其他情况下你会使用关联列表(或类似的东西)吗?

erlang

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