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
一時停止要求を10秒間無視するだけです。 PythonはRコードの実行時間については何も知らず、robjectsで5回実行します。シグナルは_handler_メソッドと呼ばれますが、10秒後ではなく2秒後に消えます。 – user1250280