how to ensure router worker component's onLeave / onDisconnect called when controller exits?

#1

Hi,

I have what I think is a simple question, but I haven’t yet discovered an answer in the Autobahn/Crossbar docs…

In my config.json, I have a (native) component defined inside the router worker. In the component’s code, I initialize a few external resources in the onJoin method. I’d like to ensure those resources are appropriately cleaned up during normal exit/teardown, and so I thought it would make sense to place this cleanup in the component’s onLeave method. However, I observed that when the controller is killed (receives a SIGTERM event), the controller seems to exit without tearing down the router worker and invoking the component’s onLeave (or onDisconnect) method. Am I missing something obvious? Is there a way to ensure those methods get called during normal exit?

Here are examples of the processes involved.

www-data 19718 19710 6 18:58 ? 00:00:00 /usr/bin/python /usr/local/bin/crossbar start

www-data 19774 19718 10 18:58 ? 00:00:00 /usr/bin/python -u /usr/local/lib/python2.7/dist-packages/crossbar/worker/process.py --cbdir /var/www/.crossbar --node ubuntu --worker router --realm crossbar --type router --title WAMP V2 Router

(If I kill the “crossbar start” process (controller), I don’t see any close down messages for the router worker in the log. If I kill the router worker process, I see a bunch of unhandled exception messages for the router/worker in the log, but the controller reports that the connection is gone but that it was “closed cleanly”.)

Thanks very much,

Dave

0 Likes

#2

Hi Dave,

this is how it should work (if it doesn’t, that’s a bug):

If you kill the node controller process, all workers (at least the native one’s - that is router workers and container workers) should automatically exit. Nothing from the node controller will be logged (since it was killed), and nothing from the workers exciting (since all logging is done via the node controller - and again, that was killed).

If you kill a worker process, the node controller will log loosing touch with the spawned worker, but nothing from the worker will be logged, since that was killed.

A kill signal cannot be intercepted by a process. Below is a log of how that looks when killing process of different types.

Hope this helps,
/Tobias

oberstet@thinkpad-t430s:~/scm/crossbar/crossbarexamples/sharedregs$ cpy2_1
(python279_1)oberstet@thinkpad-t430s:~/scm/crossbar/crossbarexamples/sharedregs$ crossbar start
2015-03-01 21:53:11+0100 [Controller 8191] Log opened.
2015-03-01 21:53:11+0100 [Controller 8191] ==================== Crossbar.io ====================

2015-03-01 21:53:11+0100 [Controller 8191] Crossbar.io 0.10.2 starting
2015-03-01 21:53:11+0100 [Controller 8191] Running on CPython using EPollReactor reactor
2015-03-01 21:53:11+0100 [Controller 8191] Starting from node directory /home/oberstet/scm/crossbar/crossbarexamples/sharedregs/.crossbar
2015-03-01 21:53:11+0100 [Controller 8191] Starting from local configuration ‘/home/oberstet/scm/crossbar/crossbarexamples/sharedregs/.crossbar/config.json’
2015-03-01 21:53:11+0100 [Controller 8191] Warning, could not set process title (setproctitle not installed)
2015-03-01 21:53:11+0100 [Controller 8191] Router created for realm ‘crossbar’
2015-03-01 21:53:11+0100 [Controller 8191] No WAMPlets detected in enviroment.
2015-03-01 21:53:11+0100 [Controller 8191] Starting Router with ID ‘worker1’ …
2015-03-01 21:53:11+0100 [Controller 8191] Entering reactor event loop …
2015-03-01 21:53:11+0100 [Router 8200] Log opened.
2015-03-01 21:53:11+0100 [Router 8200] Warning: could not set worker process title (setproctitle not installed)
2015-03-01 21:53:12+0100 [Router 8200] Running under CPython using EPollReactor reactor
2015-03-01 21:53:12+0100 [Router 8200] Entering event loop …
2015-03-01 21:53:12+0100 [Controller 8191] Router with ID ‘worker1’ and PID 8200 started
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: PYTHONPATH extended
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: realm ‘realm1’ started
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: role ‘role1’ started on realm ‘realm1’
2015-03-01 21:53:12+0100 [Router 8200] MyComponent: add2() registered!
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: component ‘component1’ started
2015-03-01 21:53:12+0100 [Router 8200] MyComponent: add2() registered!
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: component ‘component2’ started
2015-03-01 21:53:12+0100 [Router 8200] Site starting on 8080
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: transport ‘transport1’ started
2015-03-01 21:53:12+0100 [Controller 8191] Starting Container with ID ‘worker2’ …
2015-03-01 21:53:12+0100 [Container 8203] Log opened.
2015-03-01 21:53:12+0100 [Container 8203] Warning: could not set worker process title (setproctitle not installed)
2015-03-01 21:53:12+0100 [Container 8203] Running under CPython using EPollReactor reactor
2015-03-01 21:53:13+0100 [Container 8203] Entering event loop …
2015-03-01 21:53:13+0100 [Controller 8191] Container with ID ‘worker2’ and PID 8203 started
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker2’: PYTHONPATH extended
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker2’: component ‘component1’ started
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker2’: component ‘component2’ started
2015-03-01 21:53:13+0100 [Controller 8191] Starting Container with ID ‘worker3’ …
2015-03-01 21:53:13+0100 [Container 8203] MyComponent: add2() registered!
2015-03-01 21:53:13+0100 [Container 8203] MyComponent: add2() registered!
2015-03-01 21:53:13+0100 [Container 8206] Log opened.
2015-03-01 21:53:13+0100 [Container 8206] Warning: could not set worker process title (setproctitle not installed)
2015-03-01 21:53:13+0100 [Container 8206] Running under CPython using EPollReactor reactor
2015-03-01 21:53:13+0100 [Container 8206] Entering event loop …
2015-03-01 21:53:13+0100 [Controller 8191] Container with ID ‘worker3’ and PID 8206 started
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker3’: PYTHONPATH extended
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker3’: component ‘component1’ started
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker3’: component ‘component2’ started
2015-03-01 21:53:13+0100 [Controller 8191] Using guest worker executable ‘/home/oberstet/python279_1/bin/python’ (executable path detected from environment)
2015-03-01 21:53:13+0100 [Controller 8191] Starting Guest with ID ‘worker4’ …
2015-03-01 21:53:13+0100 [Controller 8191] GuestWorkerClientProtocol.connectionMade
2015-03-01 21:53:13+0100 [Controller 8191] Guest with ID ‘worker4’ and PID 8209 started
2015-03-01 21:53:13+0100 [Controller 8191] Guest ‘worker4’: started
2015-03-01 21:53:13+0100 [Controller 8191] Using guest worker executable ‘/home/oberstet/python279_1/bin/python’ (executable path detected from environment)
2015-03-01 21:53:13+0100 [Controller 8191] Starting Guest with ID ‘worker5’ …
2015-03-01 21:53:13+0100 [Controller 8191] GuestWorkerClientProtocol.connectionMade
2015-03-01 21:53:13+0100 [Controller 8191] Guest with ID ‘worker5’ and PID 8210 started
2015-03-01 21:53:13+0100 [Controller 8191] Guest ‘worker5’: started
2015-03-01 21:53:13+0100 [Container 8206] MyComponent: add2() registered!
2015-03-01 21:53:13+0100 [Container 8206] MyComponent: add2() registered!
2015-03-01 21:53:14+0100 [Guest 8209] 2015-03-01 21:53:14+0100 [-] Log opened.
2015-03-01 21:53:14+0100 [Guest 8210] 2015-03-01 21:53:14+0100 [-] Log opened.
2015-03-01 21:53:14+0100 [Guest 8209] 2015-03-01 21:53:14+0100 [-] Starting factory <autobahn.twisted.websocket.WampWebSocketClientFactory instance at 0x7f3531dc1440>
2015-03-01 21:53:14+0100 [Guest 8210] 2015-03-01 21:53:14+0100 [-] Starting factory <autobahn.twisted.websocket.WampWebSocketClientFactory instance at 0x7f1ae2a24440>
2015-03-01 21:53:14+0100 [Guest 8209] 2015-03-01 21:53:14+0100 [WampWebSocketClientProtocol,client] MyComponent: add2() registered!
2015-03-01 21:53:14+0100 [Guest 8210] 2015-03-01 21:53:14+0100 [WampWebSocketClientProtocol,client] MyComponent: add2() registered!
2015-03-01 21:53:41+0100 [Controller 8191] GuestWorkerClientProtocol.connectionLost: [Failure instance: Traceback (failure with no frames): <class ‘twisted.internet.error.ProcessTerminated’>: A process has ended with a probable error condition: process ended by signal 9.
]
2015-03-01 21:53:41+0100 [Controller 8191] GuestWorkerClientProtocol: guest ended with error None
2015-03-01 21:53:41+0100 [Controller 8191] Guest excited with error [Failure instance: Traceback (failure with no frames): <class ‘twisted.internet.error.ProcessTerminated’>: A process has ended with a probable error condition: process ended by signal 9.
]
2015-03-01 21:54:14+0100 [Controller 8191] Worker 8206: Process connection gone (A process has ended with a probable error condition: process ended by signal 9.)
2015-03-01 21:54:58+0100 [Controller 8191] Worker 8200: Process connection gone (A process has ended with a probable error condition: process ended by signal 9.)
2015-03-01 21:54:58+0100 [Guest 8209] 2015-03-01 21:54:58+0100 [WampWebSocketClientProtocol,client] Stopping factory <autobahn.twisted.websocket.WampWebSocketClientFactory instance at 0x7f3531dc1440>

···

Am Dienstag, 20. Januar 2015 01:13:05 UTC+1 schrieb Dave Barndt:

Hi,

I have what I think is a simple question, but I haven’t yet discovered an answer in the Autobahn/Crossbar docs…

In my config.json, I have a (native) component defined inside the router worker. In the component’s code, I initialize a few external resources in the onJoin method. I’d like to ensure those resources are appropriately cleaned up during normal exit/teardown, and so I thought it would make sense to place this cleanup in the component’s onLeave method. However, I observed that when the controller is killed (receives a SIGTERM event), the controller seems to exit without tearing down the router worker and invoking the component’s onLeave (or onDisconnect) method. Am I missing something obvious? Is there a way to ensure those methods get called during normal exit?

Here are examples of the processes involved.

www-data 19718 19710 6 18:58 ? 00:00:00 /usr/bin/python /usr/local/bin/crossbar start

www-data 19774 19718 10 18:58 ? 00:00:00 /usr/bin/python -u /usr/local/lib/python2.7/dist-packages/crossbar/worker/process.py --cbdir /var/www/.crossbar --node ubuntu --worker router --realm crossbar --type router --title WAMP V2 Router

(If I kill the “crossbar start” process (controller), I don’t see any close down messages for the router worker in the log. If I kill the router worker process, I see a bunch of unhandled exception messages for the router/worker in the log, but the controller reports that the connection is gone but that it was “closed cleanly”.)

Thanks very much,

Dave

0 Likes

#3

Hi Tobias,

Thanks - I will check this again and keep your comments for reference…

Dave

···

On Sunday, March 1, 2015 at 4:03:31 PM UTC-5, Tobias Oberstein wrote:

Hi,

I have what I think is a simple question, but I haven’t yet discovered an answer in the Autobahn/Crossbar docs…

In my config.json, I have a (native) component defined inside the router worker. In the component’s code, I initialize a few external resources in the onJoin method. I’d like to ensure those resources are appropriately cleaned up during normal exit/teardown, and so I thought it would make sense to place this cleanup in the component’s onLeave method. However, I observed that when the controller is killed (receives a SIGTERM event), the controller seems to exit without tearing down the router worker and invoking the component’s onLeave (or onDisconnect) method. Am I missing something obvious? Is there a way to ensure those methods get called during normal exit?

Here are examples of the processes involved.

www-data 19718 19710 6 18:58 ? 00:00:00 /usr/bin/python /usr/local/bin/crossbar start

www-data 19774 19718 10 18:58 ? 00:00:00 /usr/bin/python -u /usr/local/lib/python2.7/dist-packages/crossbar/worker/process.py --cbdir /var/www/.crossbar --node ubuntu --worker router --realm crossbar --type router --title WAMP V2 Router

(If I kill the “crossbar start” process (controller), I don’t see any close down messages for the router worker in the log. If I kill the router worker process, I see a bunch of unhandled exception messages for the router/worker in the log, but the controller reports that the connection is gone but that it was “closed cleanly”.)

Thanks very much,

Dave

Hi Dave,

this is how it should work (if it doesn’t, that’s a bug):

If you kill the node controller process, all workers (at least the native one’s - that is router workers and container workers) should automatically exit. Nothing from the node controller will be logged (since it was killed), and nothing from the workers exciting (since all logging is done via the node controller - and again, that was killed).

If you kill a worker process, the node controller will log loosing touch with the spawned worker, but nothing from the worker will be logged, since that was killed.

A kill signal cannot be intercepted by a process. Below is a log of how that looks when killing process of different types.

Hope this helps,
/Tobias

oberstet@thinkpad-t430s:~/scm/crossbar/crossbarexamples/sharedregs$ cpy2_1
(python279_1)oberstet@thinkpad-t430s:~/scm/crossbar/crossbarexamples/sharedregs$ crossbar start
2015-03-01 21:53:11+0100 [Controller 8191] Log opened.
2015-03-01 21:53:11+0100 [Controller 8191] ==================== Crossbar.io ====================

2015-03-01 21:53:11+0100 [Controller 8191] Crossbar.io 0.10.2 starting
2015-03-01 21:53:11+0100 [Controller 8191] Running on CPython using EPollReactor reactor
2015-03-01 21:53:11+0100 [Controller 8191] Starting from node directory /home/oberstet/scm/crossbar/crossbarexamples/sharedregs/.crossbar
2015-03-01 21:53:11+0100 [Controller 8191] Starting from local configuration ‘/home/oberstet/scm/crossbar/crossbarexamples/sharedregs/.crossbar/config.json’
2015-03-01 21:53:11+0100 [Controller 8191] Warning, could not set process title (setproctitle not installed)
2015-03-01 21:53:11+0100 [Controller 8191] Router created for realm ‘crossbar’
2015-03-01 21:53:11+0100 [Controller 8191] No WAMPlets detected in enviroment.
2015-03-01 21:53:11+0100 [Controller 8191] Starting Router with ID ‘worker1’ …
2015-03-01 21:53:11+0100 [Controller 8191] Entering reactor event loop …
2015-03-01 21:53:11+0100 [Router 8200] Log opened.
2015-03-01 21:53:11+0100 [Router 8200] Warning: could not set worker process title (setproctitle not installed)
2015-03-01 21:53:12+0100 [Router 8200] Running under CPython using EPollReactor reactor
2015-03-01 21:53:12+0100 [Router 8200] Entering event loop …
2015-03-01 21:53:12+0100 [Controller 8191] Router with ID ‘worker1’ and PID 8200 started
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: PYTHONPATH extended
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: realm ‘realm1’ started
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: role ‘role1’ started on realm ‘realm1’
2015-03-01 21:53:12+0100 [Router 8200] MyComponent: add2() registered!
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: component ‘component1’ started
2015-03-01 21:53:12+0100 [Router 8200] MyComponent: add2() registered!
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: component ‘component2’ started
2015-03-01 21:53:12+0100 [Router 8200] Site starting on 8080
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: transport ‘transport1’ started
2015-03-01 21:53:12+0100 [Controller 8191] Starting Container with ID ‘worker2’ …
2015-03-01 21:53:12+0100 [Container 8203] Log opened.
2015-03-01 21:53:12+0100 [Container 8203] Warning: could not set worker process title (setproctitle not installed)
2015-03-01 21:53:12+0100 [Container 8203] Running under CPython using EPollReactor reactor
2015-03-01 21:53:13+0100 [Container 8203] Entering event loop …
2015-03-01 21:53:13+0100 [Controller 8191] Container with ID ‘worker2’ and PID 8203 started
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker2’: PYTHONPATH extended
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker2’: component ‘component1’ started
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker2’: component ‘component2’ started
2015-03-01 21:53:13+0100 [Controller 8191] Starting Container with ID ‘worker3’ …
2015-03-01 21:53:13+0100 [Container 8203] MyComponent: add2() registered!
2015-03-01 21:53:13+0100 [Container 8203] MyComponent: add2() registered!
2015-03-01 21:53:13+0100 [Container 8206] Log opened.
2015-03-01 21:53:13+0100 [Container 8206] Warning: could not set worker process title (setproctitle not installed)
2015-03-01 21:53:13+0100 [Container 8206] Running under CPython using EPollReactor reactor
2015-03-01 21:53:13+0100 [Container 8206] Entering event loop …
2015-03-01 21:53:13+0100 [Controller 8191] Container with ID ‘worker3’ and PID 8206 started
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker3’: PYTHONPATH extended
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker3’: component ‘component1’ started
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker3’: component ‘component2’ started
2015-03-01 21:53:13+0100 [Controller 8191] Using guest worker executable ‘/home/oberstet/python279_1/bin/python’ (executable path detected from environment)
2015-03-01 21:53:13+0100 [Controller 8191] Starting Guest with ID ‘worker4’ …
2015-03-01 21:53:13+0100 [Controller 8191] GuestWorkerClientProtocol.connectionMade
2015-03-01 21:53:13+0100 [Controller 8191] Guest with ID ‘worker4’ and PID 8209 started
2015-03-01 21:53:13+0100 [Controller 8191] Guest ‘worker4’: started
2015-03-01 21:53:13+0100 [Controller 8191] Using guest worker executable ‘/home/oberstet/python279_1/bin/python’ (executable path detected from environment)
2015-03-01 21:53:13+0100 [Controller 8191] Starting Guest with ID ‘worker5’ …
2015-03-01 21:53:13+0100 [Controller 8191] GuestWorkerClientProtocol.connectionMade
2015-03-01 21:53:13+0100 [Controller 8191] Guest with ID ‘worker5’ and PID 8210 started
2015-03-01 21:53:13+0100 [Controller 8191] Guest ‘worker5’: started
2015-03-01 21:53:13+0100 [Container 8206] MyComponent: add2() registered!
2015-03-01 21:53:13+0100 [Container 8206] MyComponent: add2() registered!
2015-03-01 21:53:14+0100 [Guest 8209] 2015-03-01 21:53:14+0100 [-] Log opened.
2015-03-01 21:53:14+0100 [Guest 8210] 2015-03-01 21:53:14+0100 [-] Log opened.
2015-03-01 21:53:14+0100 [Guest 8209] 2015-03-01 21:53:14+0100 [-] Starting factory <autobahn.twisted.websocket.WampWebSocketClientFactory instance at 0x7f3531dc1440>
2015-03-01 21:53:14+0100 [Guest 8210] 2015-03-01 21:53:14+0100 [-] Starting factory <autobahn.twisted.websocket.WampWebSocketClientFactory instance at 0x7f1ae2a24440>
2015-03-01 21:53:14+0100 [Guest 8209] 2015-03-01 21:53:14+0100 [WampWebSocketClientProtocol,client] MyComponent: add2() registered!
2015-03-01 21:53:14+0100 [Guest 8210] 2015-03-01 21:53:14+0100 [WampWebSocketClientProtocol,client] MyComponent: add2() registered!
2015-03-01 21:53:41+0100 [Controller 8191] GuestWorkerClientProtocol.connectionLost: [Failure instance: Traceback (failure with no frames): <class ‘twisted.internet.error.ProcessTerminated’>: A process has ended with a probable error condition: process ended by signal 9.
]
2015-03-01 21:53:41+0100 [Controller 8191] GuestWorkerClientProtocol: guest ended with error None
2015-03-01 21:53:41+0100 [Controller 8191] Guest excited with error [Failure instance: Traceback (failure with no frames): <class ‘twisted.internet.error.ProcessTerminated’>: A process has ended with a probable error condition: process ended by signal 9.
]
2015-03-01 21:54:14+0100 [Controller 8191] Worker 8206: Process connection gone (A process has ended with a probable error condition: process ended by signal 9.)
2015-03-01 21:54:58+0100 [Controller 8191] Worker 8200: Process connection gone (A process has ended with a probable error condition: process ended by signal 9.)
2015-03-01 21:54:58+0100 [Guest 8209] 2015-03-01 21:54:58+0100 [WampWebSocketClientProtocol,client] Stopping factory <autobahn.twisted.websocket.WampWebSocketClientFactory instance at 0x7f3531dc1440>

Am Dienstag, 20. Januar 2015 01:13:05 UTC+1 schrieb Dave Barndt:

0 Likes

#4

Hi Dave,

this is how it should work (if it doesn’t, that’s a bug):

If you kill the node controller process, all workers (at least the native one’s - that is router workers and container workers) should automatically exit. Nothing from the node controller will be logged (since it was killed), and nothing from the workers exciting (since all logging is done via the node controller - and again, that was killed).

If you kill a worker process, the node controller will log loosing touch with the spawned worker, but nothing from the worker will be logged, since that was killed.

A kill signal cannot be intercepted by a process. Below is a log of how that looks when killing process of different types.

Hm. But isn’t he talking about SIGTERM. That can surely be intercepted to allow for graceful shutdown? (as opposed to SIGKILL).

If not through SIGTERM to the controller (e.g. Ctrl+C of crossbar start), then how am I supposed to gracefully signal a shutdown to the entire application?

Elvis

···

On Sunday, March 1, 2015 at 10:03:31 PM UTC+1, Tobias Oberstein wrote:

Hi,

I have what I think is a simple question, but I haven’t yet discovered an answer in the Autobahn/Crossbar docs…

In my config.json, I have a (native) component defined inside the router worker. In the component’s code, I initialize a few external resources in the onJoin method. I’d like to ensure those resources are appropriately cleaned up during normal exit/teardown, and so I thought it would make sense to place this cleanup in the component’s onLeave method. However, I observed that when the controller is killed (receives a SIGTERM event), the controller seems to exit without tearing down the router worker and invoking the component’s onLeave (or onDisconnect) method. Am I missing something obvious? Is there a way to ensure those methods get called during normal exit?

Here are examples of the processes involved.

www-data 19718 19710 6 18:58 ? 00:00:00 /usr/bin/python /usr/local/bin/crossbar start

www-data 19774 19718 10 18:58 ? 00:00:00 /usr/bin/python -u /usr/local/lib/python2.7/dist-packages/crossbar/worker/process.py --cbdir /var/www/.crossbar --node ubuntu --worker router --realm crossbar --type router --title WAMP V2 Router

(If I kill the “crossbar start” process (controller), I don’t see any close down messages for the router worker in the log. If I kill the router worker process, I see a bunch of unhandled exception messages for the router/worker in the log, but the controller reports that the connection is gone but that it was “closed cleanly”.)

Thanks very much,

Dave

Hope this helps,
/Tobias

oberstet@thinkpad-t430s:~/scm/crossbar/crossbarexamples/sharedregs$ cpy2_1
(python279_1)oberstet@thinkpad-t430s:~/scm/crossbar/crossbarexamples/sharedregs$ crossbar start
2015-03-01 21:53:11+0100 [Controller 8191] Log opened.
2015-03-01 21:53:11+0100 [Controller 8191] ==================== Crossbar.io ====================

2015-03-01 21:53:11+0100 [Controller 8191] Crossbar.io 0.10.2 starting
2015-03-01 21:53:11+0100 [Controller 8191] Running on CPython using EPollReactor reactor
2015-03-01 21:53:11+0100 [Controller 8191] Starting from node directory /home/oberstet/scm/crossbar/crossbarexamples/sharedregs/.crossbar
2015-03-01 21:53:11+0100 [Controller 8191] Starting from local configuration ‘/home/oberstet/scm/crossbar/crossbarexamples/sharedregs/.crossbar/config.json’
2015-03-01 21:53:11+0100 [Controller 8191] Warning, could not set process title (setproctitle not installed)
2015-03-01 21:53:11+0100 [Controller 8191] Router created for realm ‘crossbar’
2015-03-01 21:53:11+0100 [Controller 8191] No WAMPlets detected in enviroment.
2015-03-01 21:53:11+0100 [Controller 8191] Starting Router with ID ‘worker1’ …
2015-03-01 21:53:11+0100 [Controller 8191] Entering reactor event loop …
2015-03-01 21:53:11+0100 [Router 8200] Log opened.
2015-03-01 21:53:11+0100 [Router 8200] Warning: could not set worker process title (setproctitle not installed)
2015-03-01 21:53:12+0100 [Router 8200] Running under CPython using EPollReactor reactor
2015-03-01 21:53:12+0100 [Router 8200] Entering event loop …
2015-03-01 21:53:12+0100 [Controller 8191] Router with ID ‘worker1’ and PID 8200 started
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: PYTHONPATH extended
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: realm ‘realm1’ started
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: role ‘role1’ started on realm ‘realm1’
2015-03-01 21:53:12+0100 [Router 8200] MyComponent: add2() registered!
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: component ‘component1’ started
2015-03-01 21:53:12+0100 [Router 8200] MyComponent: add2() registered!
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: component ‘component2’ started
2015-03-01 21:53:12+0100 [Router 8200] Site starting on 8080
2015-03-01 21:53:12+0100 [Controller 8191] Router ‘worker1’: transport ‘transport1’ started
2015-03-01 21:53:12+0100 [Controller 8191] Starting Container with ID ‘worker2’ …
2015-03-01 21:53:12+0100 [Container 8203] Log opened.
2015-03-01 21:53:12+0100 [Container 8203] Warning: could not set worker process title (setproctitle not installed)
2015-03-01 21:53:12+0100 [Container 8203] Running under CPython using EPollReactor reactor
2015-03-01 21:53:13+0100 [Container 8203] Entering event loop …
2015-03-01 21:53:13+0100 [Controller 8191] Container with ID ‘worker2’ and PID 8203 started
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker2’: PYTHONPATH extended
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker2’: component ‘component1’ started
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker2’: component ‘component2’ started
2015-03-01 21:53:13+0100 [Controller 8191] Starting Container with ID ‘worker3’ …
2015-03-01 21:53:13+0100 [Container 8203] MyComponent: add2() registered!
2015-03-01 21:53:13+0100 [Container 8203] MyComponent: add2() registered!
2015-03-01 21:53:13+0100 [Container 8206] Log opened.
2015-03-01 21:53:13+0100 [Container 8206] Warning: could not set worker process title (setproctitle not installed)
2015-03-01 21:53:13+0100 [Container 8206] Running under CPython using EPollReactor reactor
2015-03-01 21:53:13+0100 [Container 8206] Entering event loop …
2015-03-01 21:53:13+0100 [Controller 8191] Container with ID ‘worker3’ and PID 8206 started
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker3’: PYTHONPATH extended
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker3’: component ‘component1’ started
2015-03-01 21:53:13+0100 [Controller 8191] Container ‘worker3’: component ‘component2’ started
2015-03-01 21:53:13+0100 [Controller 8191] Using guest worker executable ‘/home/oberstet/python279_1/bin/python’ (executable path detected from environment)
2015-03-01 21:53:13+0100 [Controller 8191] Starting Guest with ID ‘worker4’ …
2015-03-01 21:53:13+0100 [Controller 8191] GuestWorkerClientProtocol.connectionMade
2015-03-01 21:53:13+0100 [Controller 8191] Guest with ID ‘worker4’ and PID 8209 started
2015-03-01 21:53:13+0100 [Controller 8191] Guest ‘worker4’: started
2015-03-01 21:53:13+0100 [Controller 8191] Using guest worker executable ‘/home/oberstet/python279_1/bin/python’ (executable path detected from environment)
2015-03-01 21:53:13+0100 [Controller 8191] Starting Guest with ID ‘worker5’ …
2015-03-01 21:53:13+0100 [Controller 8191] GuestWorkerClientProtocol.connectionMade
2015-03-01 21:53:13+0100 [Controller 8191] Guest with ID ‘worker5’ and PID 8210 started
2015-03-01 21:53:13+0100 [Controller 8191] Guest ‘worker5’: started
2015-03-01 21:53:13+0100 [Container 8206] MyComponent: add2() registered!
2015-03-01 21:53:13+0100 [Container 8206] MyComponent: add2() registered!
2015-03-01 21:53:14+0100 [Guest 8209] 2015-03-01 21:53:14+0100 [-] Log opened.
2015-03-01 21:53:14+0100 [Guest 8210] 2015-03-01 21:53:14+0100 [-] Log opened.
2015-03-01 21:53:14+0100 [Guest 8209] 2015-03-01 21:53:14+0100 [-] Starting factory <autobahn.twisted.websocket.WampWebSocketClientFactory instance at 0x7f3531dc1440>
2015-03-01 21:53:14+0100 [Guest 8210] 2015-03-01 21:53:14+0100 [-] Starting factory <autobahn.twisted.websocket.WampWebSocketClientFactory instance at 0x7f1ae2a24440>
2015-03-01 21:53:14+0100 [Guest 8209] 2015-03-01 21:53:14+0100 [WampWebSocketClientProtocol,client] MyComponent: add2() registered!
2015-03-01 21:53:14+0100 [Guest 8210] 2015-03-01 21:53:14+0100 [WampWebSocketClientProtocol,client] MyComponent: add2() registered!
2015-03-01 21:53:41+0100 [Controller 8191] GuestWorkerClientProtocol.connectionLost: [Failure instance: Traceback (failure with no frames): <class ‘twisted.internet.error.ProcessTerminated’>: A process has ended with a probable error condition: process ended by signal 9.
]
2015-03-01 21:53:41+0100 [Controller 8191] GuestWorkerClientProtocol: guest ended with error None
2015-03-01 21:53:41+0100 [Controller 8191] Guest excited with error [Failure instance: Traceback (failure with no frames): <class ‘twisted.internet.error.ProcessTerminated’>: A process has ended with a probable error condition: process ended by signal 9.
]
2015-03-01 21:54:14+0100 [Controller 8191] Worker 8206: Process connection gone (A process has ended with a probable error condition: process ended by signal 9.)
2015-03-01 21:54:58+0100 [Controller 8191] Worker 8200: Process connection gone (A process has ended with a probable error condition: process ended by signal 9.)
2015-03-01 21:54:58+0100 [Guest 8209] 2015-03-01 21:54:58+0100 [WampWebSocketClientProtocol,client] Stopping factory <autobahn.twisted.websocket.WampWebSocketClientFactory instance at 0x7f3531dc1440>

Am Dienstag, 20. Januar 2015 01:13:05 UTC+1 schrieb Dave Barndt:

0 Likes