2016-04-14 19 views
0

Python/SpringXD ist nicht die Kombination in der in meinem vorherigen Post geschrieben Fehler führt auszuführen, allein die Schale aus springxd kann nicht auf meinem System gelingen AusführungSpringXD scheitern Shell-Befehl

Der Stream Definition:

trigger --cron='0 */1 * * * *' | shell --command='ls' | log 

hier ist die Fehlermeldung:

2016-04-19T16:06:06-0400 1.3.1.SNAP ERROR inbound.awef-p2_7-log.0-redis:queue-inbound-channel-adapter1 redis.RedisMessageBus$1 - Failed to deliver message; retries exhausted; message sent to queue 'ERRORS:awef-p2_7-log.0' org.springframework.messaging.MessageHandlingException: nested exception is java.lang.RuntimeException: Stream closed 
2016-04-19T16:06:17-0400 1.3.1.SNAP ERROR inbound.test-ls.0-redis:queue-inbound-channel-adapter1 process.ShellCommandProcessor - Stream closed 
java.io.IOException: Stream closed 
     at java.lang.ProcessBuilder$NullOutputStream.write(ProcessBuilder.java:433) ~[na:1.8.0_66] 
     at java.io.OutputStream.write(OutputStream.java:116) ~[na:1.8.0_66] 
     at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) ~[na:1.8.0_66] 
     at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) ~[na:1.8.0_66] 
     at org.springframework.xd.extension.process.ShellCommandProcessor.send(ShellCommandProcessor.java:156) [spring-xd-extension-process-1.3.1.BUILD-SNAPSHOT.jar!/:na] 
     at org.springframework.xd.extension.process.ShellCommandProcessor.sendAndReceive(ShellCommandProcessor.java:171) [spring-xd-extension-process-1.3.1.BUILD-SNAPSHOT.jar!/:na] 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_66] 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_66] 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_66] 
     at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_66] 

Antwort

0

ich Twick schließlich den Anruf durch ein starkes Skript in Python:

Strom def:

trigger --cron='0 0/1 * * * *' | script --script=file:/.../testjobpython.groovy | null 

Code groovy:

String[] pythonCmd = ["/usr/bin/python2.7","/.../testjobpython.py"] 
Runtime.getRuntime().exec(pythonCmd) 
0

ich vermute, dies in Ihrem python-Code wegen des sys.exit() Anrufs sein könnte. Was passiert, wenn Sie nicht sys.exit() anrufen?

+0

Hallo, ich entfernt, aber immer noch die gleiche Error. Vielen Dank – MattEnergy