【发布时间】:2012-03-05 16:44:09
【问题描述】:
我想在 2 秒后停止执行从 python (rpy2) 调用的 R 函数。这是python代码:
signal.signal(signal.SIGALRM, handler)
signal.alarm(2) # set timeout to 2 seconds
# run R code
result = robjects.r('''
Sys.sleep(10)
return("hello")
''')
signal.alarm(0) # disable alarm
它不起作用。我必须等待 10 秒才能收到信号 handler。
【问题讨论】:
-
它可以帮助人们确切地知道 如何 是行不通的。错误?只是忽略暂停 10 秒的请求?
-
简单地忽略暂停 10 秒的请求。 Python对R代码执行时间一无所知,当我通过robjects执行5次时-信号首先出现,称为handler方法,但10秒后,不是2。我想杀死R代码处理2 秒后。