メインリポジトリ
Revision | f117489a7251b0a97c5a7de20387d9051fde1442 (tree) |
---|---|
Time | 2010-03-18 13:00:49 |
Author | Taizo ITO <taizo@kare...> |
Commiter | Kei Funagayama |
bug#
ticket#
Added job.popen.stdout_limit parameter.
@@ -61,6 +61,7 @@ scheduler.interval=10 | ||
61 | 61 | job.popen.env.lang=C |
62 | 62 | job.popen.timeout=3600 |
63 | 63 | job.popen.waittime=10 |
64 | +job.popen.stdout_limit=8192 | |
64 | 65 | # 1 or Other |
65 | 66 | job.whitelist.flag=1 |
66 | 67 | job.whitelist.path=/etc/opt/pysilhouette/whitelist.conf |
@@ -180,7 +180,7 @@ class Job(Model): | ||
180 | 180 | """ |
181 | 181 | |
182 | 182 | #: Maximum number of characters to stdout. |
183 | - STD_OUTPUT_LIMIT = 4096 | |
183 | + STDOUT_LIMIT = 8192 | |
184 | 184 | |
185 | 185 | def __init__(self, name, order, action_command): |
186 | 186 | self.name = name |
@@ -232,6 +232,13 @@ def chk_conf(cf): | ||
232 | 232 | print >>sys.stderr, 'Must be a number. - job.popen.waittime=%s' % (cf["job.popen.waittime"]) |
233 | 233 | return False |
234 | 234 | |
235 | + try: | |
236 | + if is_int(cf["job.popen.stdout_limit"]) is False: | |
237 | + print >>sys.stderr, 'Must be a number. - job.popen.stdout_limit=%s' % (cf["job.popen.stdout_limit"]) | |
238 | + return False | |
239 | + except: | |
240 | + pass | |
241 | + | |
235 | 242 | # performer |
236 | 243 | p_mkfifo = set([cf["performer.mkfifo.start.code"], |
237 | 244 | cf["performer.mkfifo.ignore.code"], |
@@ -102,7 +102,7 @@ def kill_proc(proc): | ||
102 | 102 | except: |
103 | 103 | return False |
104 | 104 | |
105 | -def popen(cmd, timeout, waittime, lang, limit=4096, job_id=None): | |
105 | +def popen(cmd, timeout, waittime, lang, limit=8192, job_id=None): | |
106 | 106 | |
107 | 107 | proc_info = {} |
108 | 108 |
@@ -205,11 +205,15 @@ class SimpleWorker(Worker): | ||
205 | 205 | lcmd = split_shell_command(cmd) |
206 | 206 | if self.chk_whitelist(lcmd[0]): |
207 | 207 | try: |
208 | + stdout_limit = int(self._cf['job.popen.stdout_limit']) | |
209 | + except: | |
210 | + stdout_limit = m_job.STDOUT_LIMIT | |
211 | + try: | |
208 | 212 | (proc, proc_info) = popen(lcmd, |
209 | 213 | self._cf['job.popen.timeout'], |
210 | 214 | self._cf['job.popen.waittime'], |
211 | 215 | self._cf['job.popen.env.lang'], |
212 | - m_job.STD_OUTPUT_LIMIT, | |
216 | + stdout_limit, | |
213 | 217 | m_job.id, |
214 | 218 | ) |
215 | 219 |
@@ -265,11 +269,15 @@ class SimpleWorker(Worker): | ||
265 | 269 | |
266 | 270 | if self.chk_whitelist(lcmd[0]): |
267 | 271 | try: |
272 | + stdout_limit = int(self._cf['job.popen.stdout_limit']) | |
273 | + except: | |
274 | + stdout_limit = m_job.STDOUT_LIMIT | |
275 | + try: | |
268 | 276 | (proc, proc_info) = popen(lcmd, |
269 | 277 | self._cf['job.popen.timeout'], |
270 | 278 | self._cf['job.popen.waittime'], |
271 | 279 | self._cf['job.popen.env.lang'], |
272 | - m_job.STD_OUTPUT_LIMIT, | |
280 | + stdout_limit, | |
273 | 281 | ) |
274 | 282 | |
275 | 283 | self.logger.debug('Of commands executed stdout=%s' % proc_info['stdout']) |