2017-04-10 47 views
0

我正在尋找殺死Mesos任務或關閉mesos-rxjava庫中的框架的方法。看起來在subscribe()之後,發送調用Mesos的唯一機會是響應來自Mesos的事件。我已經能夠將Fenzo整合到一個單獨的調度循環中,通過使用Promise中的Observable響應提供的租約並存儲Fenzo循環的承諾,因此可能對「任務啓動」更新事件執行相同操作,並且遵守諾言以殺死那個任務,但是那麼你不能取消尚未開始的任務,也不能解決關閉框架的問題。或者也許有一種方法可以使用庫的身份驗證以簡單的方式發送HTTP請求?我錯過了一個更清潔的解決方案嗎?mesos-rxjava - 殺死任務和關機調度程序

回答

1

我認爲你在這裏尋找的是TEARDOWN Call [1],當這個調用從調度程序發送到mesos時,它將啓動整個集羣的框架完全關閉。

通過將主體編織到Observable中(您可以在下面的鏈接2中看到將Observable一起編織爲一個示例),您可以爲mesos-rxjava客戶端提供一個句柄,以便能夠發送不支持「對事件的直接反應。下面的鏈接3是Github問題的一個鏈接,更多地解釋了這一點。

[1] https://github.com/apache/mesos/blob/master/docs/scheduler-http-api.md#teardown
[2] https://github.com/mesosphere/mesos-rxjava/blob/master/mesos-rxjava-example/mesos-rxjava-example-framework/src/main/java/com/mesosphere/mesos/rx/java/example/framework/sleepy/Sleepy.java#L140
[3] https://github.com/mesosphere/mesos-rxjava/pull/63#issuecomment-235043568