🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #28411

Jak mogę ustawić timeout na wykonywanie kodu R za pośrednictwem rpy2?

#28411
From: marek
Date: Mon, 05 Mar 2012 17:58
23 lines
2349 bytes
Witam,

Chciałbym zabić wykonywanie kodu R odpalanego za pośrednictwem
robjects.r. Przetestowałem, że pewien kod R wykonuje się przez
maksymalnie 5 sekund. Jeśli czas ten przekroczy 10 sekund chciałbym
zabić proces wykonywania kodu R oraz rzucić wyjątkiem z poziomu
pythona. Kod R mam w stringu, odpalam tak:

import rpy2.robjects as robjects
robjects.r('tu jest kod, którego wykonanie trwa 5 sek - chcę zabić
proces, jeśli czas wykonania przekroczy 10')

Obsługa timeoutu za pomocą signal.alarm nie działa. Kiedy python
uruchamia środowisko R przestaje aktywnie kontrolować ilość sekund
swojego wykonania, dopiero po wykonaniu całego kodu R następuje
odświeżenie informacji o stanie. Czyli jak ustawię signal.alarm(5) a
kod R będzie wykonywał się dłużej niż 5 sekund - nie nastąpi
przerwanie jego działania. Przerwanie nastąpi dopiero po wykonaniu R.

Chciałbym przy tym ominąć implementację limitu czasowego na wykonanie
kodu w samym R, ponieważ mam tam sporo analityki statystycznej i nie
chciałbym jej dodatkowo zaciemniać. Oczywiście jeśli to jedyne
rozwiązanie to trudno, ale sądzę, że nie jest to tak wyszukany problem.
Technical Details
Message-ID: <c04e8b33-9d72-49b2-8376-cbf1185c9def@l7g2000vbw.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!l7g2000vbw.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!l7g2000vbw.googlegroups.com!not-for-mail
From: marek <mglijer@gmail.com>
Newsgroups: pl.comp.lang.python
Subject: Jak mogę ustawić timeout na wykonywanie kodu R
 za pośrednictwem rpy2?
Date: Mon, 5 Mar 2012 09:58:22 -0800 (PST)
Organization: http://groups.google.com
Lines: 25
Message-ID: <c04e8b33-9d72-49b2-8376-cbf1185c9def@l7g2000vbw.googlegroups.com>
NNTP-Posting-Host: 85.222.55.90
Mime-Version: 1.0
X-Trace: posting.google.com 1330971245 29719 127.0.0.1 (5 Mar 2012 18:14:05 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Mon, 5 Mar 2012 18:14:05 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: l7g2000vbw.googlegroups.com; posting-host=85.222.55.90; posting-account=s7DEwwoAAABWQyJQXUReaxanZlRHsXBt
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2,gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit