我想在2秒後停止執行從python(rpy2)調用的R函數。這是python代碼:如何設置由python(rpy2)執行的R代碼的時間限制?
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秒,信號處理程序。
它可以幫助人們確切知道_how_是行不通的。錯誤?只是忽略請求暫停10秒? – joran 2012-03-05 17:00:16
僅僅忽略了暫停10秒的請求。 Python對R代碼執行時間一無所知,當我通過robbers執行它5次時 - 信號在第一次出現後出現,稱爲_handler_方法,但是在10秒後,不是2.我希望在2秒後終止R代碼處理。 – user1250280 2012-03-05 17:16:08