@@ -336,8 +336,9 @@ def wrong():
336
336
337
337
if action == 'start' :
338
338
try :
339
- callback = rpcinterface .supervisor .startProcess (
340
- namespec )
339
+ bool_or_callback = (
340
+ rpcinterface .supervisor .startProcess (namespec )
341
+ )
341
342
except RPCError as e :
342
343
if e .code == Faults .NO_FILE :
343
344
msg = 'no such file'
@@ -357,47 +358,60 @@ def starterr():
357
358
starterr .delay = 0.05
358
359
return starterr
359
360
360
- def startprocess ():
361
- try :
362
- result = callback ()
363
- except RPCError as e :
364
- if e .code == Faults .SPAWN_ERROR :
365
- msg = 'spawn error'
366
- elif e .code == Faults .ABNORMAL_TERMINATION :
367
- msg = 'abnormal termination'
368
- else :
369
- msg = 'unexpected rpc fault [%d] %s' % (
370
- e .code , e .text )
371
- return 'ERROR: Process %s: %s' % (namespec , msg )
372
-
373
- if result is NOT_DONE_YET :
374
- return NOT_DONE_YET
375
- return 'Process %s started' % namespec
376
- startprocess .delay = 0.05
377
- return startprocess
361
+ if callable (bool_or_callback ):
362
+ def startprocess ():
363
+ try :
364
+ result = bool_or_callback ()
365
+ except RPCError as e :
366
+ if e .code == Faults .SPAWN_ERROR :
367
+ msg = 'spawn error'
368
+ elif e .code == Faults .ABNORMAL_TERMINATION :
369
+ msg = 'abnormal termination'
370
+ else :
371
+ msg = 'unexpected rpc fault [%d] %s' % (
372
+ e .code , e .text )
373
+ return 'ERROR: Process %s: %s' % (namespec , msg )
374
+
375
+ if result is NOT_DONE_YET :
376
+ return NOT_DONE_YET
377
+ return 'Process %s started' % namespec
378
+ startprocess .delay = 0.05
379
+ return startprocess
380
+ else :
381
+ def startdone ():
382
+ return 'Process %s started' % namespec
383
+ startdone .delay = 0.05
384
+ return startdone
378
385
379
386
elif action == 'stop' :
380
387
try :
381
- callback = rpcinterface .supervisor .stopProcess (
382
- namespec )
388
+ bool_or_callback = (
389
+ rpcinterface .supervisor .stopProcess (namespec )
390
+ )
383
391
except RPCError as e :
384
392
def stoperr ():
385
393
return 'unexpected rpc fault [%d] %s' % (
386
394
e .code , e .text )
387
395
stoperr .delay = 0.05
388
396
return stoperr
389
397
390
- def stopprocess ():
391
- try :
392
- result = callback ()
393
- except RPCError as e :
394
- return 'unexpected rpc fault [%d] %s' % (
395
- e .code , e .text )
396
- if result is NOT_DONE_YET :
397
- return NOT_DONE_YET
398
- return 'Process %s stopped' % namespec
399
- stopprocess .delay = 0.05
400
- return stopprocess
398
+ if callable (bool_or_callback ):
399
+ def stopprocess ():
400
+ try :
401
+ result = bool_or_callback ()
402
+ except RPCError as e :
403
+ return 'unexpected rpc fault [%d] %s' % (
404
+ e .code , e .text )
405
+ if result is NOT_DONE_YET :
406
+ return NOT_DONE_YET
407
+ return 'Process %s stopped' % namespec
408
+ stopprocess .delay = 0.05
409
+ return stopprocess
410
+ else :
411
+ def stopdone ():
412
+ return 'Process %s stopped' % namespec
413
+ stopdone .delay = 0.05
414
+ return stopdone
401
415
402
416
elif action == 'restart' :
403
417
callback = rpcinterface .system .multicall (
0 commit comments