轮训添加 调用线程处理
This commit is contained in:
@@ -30,7 +30,7 @@ import com.mogo.och.common.module.manager.loopmanager.LoopInfo
|
||||
import com.mogo.och.bus.passenger.bean.response.*
|
||||
import com.mogo.och.bus.passenger.callback.*
|
||||
import com.mogo.och.bus.passenger.constant.CharterPassengerConst
|
||||
import com.mogo.och.common.module.manager.loopmanager.BusPassengerModelLoopManager
|
||||
import com.mogo.och.common.module.manager.loopmanager.BizLoopManager
|
||||
import com.mogo.och.bus.passenger.net.BusPassengerServiceManager
|
||||
import com.mogo.och.bus.passenger.utils.ToastCharterUtils
|
||||
import com.mogo.och.bus.passenger.utils.VoiceFocusManager
|
||||
@@ -186,12 +186,12 @@ object CharterPassengerModel {
|
||||
// 2 、打开空调暖风机灯设置页面
|
||||
// 3、车控页面、
|
||||
// 4、打开选择线路页面
|
||||
BusPassengerModelLoopManager.removeLoopFunction(TAGLOGIN)
|
||||
BizLoopManager.removeLoopFunction(TAGLOGIN)
|
||||
CallerLogger.d(M_BUS_P + TAG, "结束登录状态轮询")
|
||||
// 启动订单轮
|
||||
startOrderLoop()
|
||||
} else {
|
||||
BusPassengerModelLoopManager.setLoopFunction(
|
||||
BizLoopManager.setLoopFunction(
|
||||
TAGLOGIN,
|
||||
LoopInfo(3, ::queryLoginStatus)
|
||||
)
|
||||
@@ -337,7 +337,7 @@ object CharterPassengerModel {
|
||||
* 启动订单轮训
|
||||
*/
|
||||
private fun startOrderLoop() {
|
||||
BusPassengerModelLoopManager.setLoopFunction(
|
||||
BizLoopManager.setLoopFunction(
|
||||
TAGORDER,
|
||||
LoopInfo(3, ::queryOrder)
|
||||
)
|
||||
@@ -348,7 +348,7 @@ object CharterPassengerModel {
|
||||
* 启动订单轮训
|
||||
*/
|
||||
private fun endOrderLoop() {
|
||||
BusPassengerModelLoopManager.removeLoopFunction(TAGORDER)
|
||||
BizLoopManager.removeLoopFunction(TAGORDER)
|
||||
CallerLogger.d(M_BUS_P + TAG, "结束订单轮询")
|
||||
}
|
||||
|
||||
@@ -489,7 +489,7 @@ object CharterPassengerModel {
|
||||
* 启动订单轮训
|
||||
*/
|
||||
private fun startCarStatusLoop() {
|
||||
BusPassengerModelLoopManager.setLoopFunction(TAGCARSTATUS, LoopInfo(3, ::queryCarStatus))
|
||||
BizLoopManager.setLoopFunction(TAGCARSTATUS, LoopInfo(3, ::queryCarStatus))
|
||||
CallerLogger.d(M_BUS_P + TAG, "启动车态轮询")
|
||||
}
|
||||
|
||||
@@ -497,7 +497,7 @@ object CharterPassengerModel {
|
||||
* 启动订单轮训
|
||||
*/
|
||||
private fun endCarStatusLoop() {
|
||||
BusPassengerModelLoopManager.removeLoopFunction(TAGCARSTATUS)
|
||||
BizLoopManager.removeLoopFunction(TAGCARSTATUS)
|
||||
CallerLogger.d(M_BUS_P + TAG, "结束车态轮询")
|
||||
}
|
||||
|
||||
@@ -548,7 +548,7 @@ object CharterPassengerModel {
|
||||
* 启动时间校准轮训
|
||||
*/
|
||||
private fun startCalibrationLoop() {
|
||||
BusPassengerModelLoopManager.setLoopFunction(
|
||||
BizLoopManager.setLoopFunction(
|
||||
TAGCALIBRATION,
|
||||
LoopInfo(120, ::queryBusinessTime, immediately = true)
|
||||
)
|
||||
@@ -559,7 +559,7 @@ object CharterPassengerModel {
|
||||
* 停止时间校准轮训
|
||||
*/
|
||||
private fun endCalibrationLoop() {
|
||||
BusPassengerModelLoopManager.removeLoopFunction(TAGCALIBRATION)
|
||||
BizLoopManager.removeLoopFunction(TAGCALIBRATION)
|
||||
CallerLogger.d(M_BUS_P + TAG, "结束时间校准轮询")
|
||||
}
|
||||
|
||||
@@ -656,7 +656,7 @@ object CharterPassengerModel {
|
||||
* 启动路距计算
|
||||
*/
|
||||
private fun startCalculateDistanceLoop() {
|
||||
BusPassengerModelLoopManager.setLoopFunction(TAGDISTANCE, LoopInfo(1, ::calculateDistance))
|
||||
BizLoopManager.setLoopFunction(TAGDISTANCE, LoopInfo(1, ::calculateDistance))
|
||||
CallerLogger.d(M_BUS_P + TAG, "开始路距计算")
|
||||
}
|
||||
|
||||
@@ -667,7 +667,7 @@ object CharterPassengerModel {
|
||||
* ③ 到站成功后
|
||||
*/
|
||||
private fun endCalculateDistanceLoop() {
|
||||
BusPassengerModelLoopManager.removeLoopFunction(TAGDISTANCE)
|
||||
BizLoopManager.removeLoopFunction(TAGDISTANCE)
|
||||
CallerLogger.d(M_BUS_P + TAG, "结束路距计算")
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse
|
||||
import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.bus.passenger.model.IOrderStatusChangeListener
|
||||
import com.mogo.och.bus.passenger.model.OrderStatusEnum
|
||||
import com.mogo.och.common.module.manager.loopmanager.BusPassengerModelLoopManager
|
||||
import com.mogo.och.common.module.manager.loopmanager.BizLoopManager
|
||||
import com.mogo.och.bus.passenger.net.BusPassengerServiceManager
|
||||
import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1OrderLineFragment
|
||||
import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg
|
||||
@@ -187,7 +187,7 @@ class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) :
|
||||
CallerLogger.d(M_BUS_P + TAG, "onDestroy")
|
||||
RxUtils.disposeSubscribe(subscribeSelectLine)
|
||||
RxUtils.disposeSubscribe(subscribeSelectSite)
|
||||
BusPassengerModelLoopManager.removeLoopFunction(TAGLINELOOP)
|
||||
BizLoopManager.removeLoopFunction(TAGLINELOOP)
|
||||
CharterPassengerModel.setStatusChangeListener(TAG,null)
|
||||
CallerTelematicListenerManager.removeListener(TAG)
|
||||
}
|
||||
@@ -230,7 +230,7 @@ class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) :
|
||||
mView?.hideDataDriverRefuse()
|
||||
}
|
||||
RxUtils.disposeSubscribe(subscribeSelectSite)
|
||||
BusPassengerModelLoopManager.removeLoopFunction(TAGLINELOOP)
|
||||
BizLoopManager.removeLoopFunction(TAGLINELOOP)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -270,7 +270,7 @@ class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) :
|
||||
}
|
||||
mView?.hideDataWaitDriverMsg()
|
||||
// 启动查看和司机端链接
|
||||
BusPassengerModelLoopManager.setLoopFunction(
|
||||
BizLoopManager.setLoopFunction(
|
||||
TAGLINELOOP,
|
||||
LoopInfo(3, ::checkServerStatus)
|
||||
)
|
||||
@@ -284,7 +284,7 @@ class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) :
|
||||
private fun checkServerStatus() {
|
||||
if (!CallerTelematicManager.getClientConnStatus()) {
|
||||
ToastCharterUtils.showShort("断开和司机端连接、请联系安全员")
|
||||
BusPassengerModelLoopManager.removeLoopFunction(TAGLINELOOP)
|
||||
BizLoopManager.removeLoopFunction(TAGLINELOOP)
|
||||
mView?.hideDataDriverRefuse()
|
||||
CallerLogger.d(M_BUS_P + TAG, "endAni666")
|
||||
}
|
||||
|
||||
@@ -12,10 +12,11 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON
|
||||
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.och.common.module.manager.loopmanager.BusPassengerModelLoopManager
|
||||
import com.mogo.och.common.module.manager.loopmanager.BizLoopManager
|
||||
import com.mogo.och.common.module.manager.loopmanager.LoopInfo
|
||||
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
|
||||
import com.zhjt.service.chain.ChainLog
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import mogo.telematics.pad.MessagePad
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
@@ -190,7 +191,9 @@ object TrajectoryAndDistanceManager: IMoGoPlanningRottingListener{
|
||||
* 启动路距计算
|
||||
*/
|
||||
private fun startCalculateDistanceLoop() {
|
||||
BusPassengerModelLoopManager.setLoopFunction(TAGDISTANCE, LoopInfo(1, ::calculateDistance))
|
||||
BizLoopManager.setLoopFunction(TAGDISTANCE, LoopInfo(1, ::calculateDistance,
|
||||
scheduler = Schedulers.computation()
|
||||
))
|
||||
d(SceneConstant.M_BUS_P + TAG, "开始路距计算")
|
||||
}
|
||||
|
||||
@@ -198,7 +201,7 @@ object TrajectoryAndDistanceManager: IMoGoPlanningRottingListener{
|
||||
* 结束启动路距计算
|
||||
*/
|
||||
private fun endCalculateDistanceLoop() {
|
||||
BusPassengerModelLoopManager.removeLoopFunction(TAGDISTANCE)
|
||||
BizLoopManager.removeLoopFunction(TAGDISTANCE)
|
||||
d(SceneConstant.M_BUS_P + TAG, "结束路距计算")
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.Observer
|
||||
import io.reactivex.disposables.Disposable
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
@@ -14,7 +15,7 @@ import java.util.concurrent.TimeUnit
|
||||
*
|
||||
* 管理轮询逻辑(订单轮询、新单轮询、新单抢单结果轮询等等)
|
||||
*/
|
||||
object BusPassengerModelLoopManager {
|
||||
object BizLoopManager {
|
||||
|
||||
private val TAG = "BusPassengerModelLoopManager"
|
||||
|
||||
@@ -66,8 +67,21 @@ object BusPassengerModelLoopManager {
|
||||
aLong?.let {
|
||||
if (it % loopInfo.interval == 0L) {
|
||||
try {
|
||||
loopInfo.function.invoke()
|
||||
CallerLogger.d(TAG, "${aLong}对象${loopInfo}正在执行方法${tag}")
|
||||
if(loopInfo.scheduler!=null) {
|
||||
Observable.just(tag).observeOn(loopInfo.scheduler)
|
||||
.subscribe(object :Observer<String>{
|
||||
override fun onSubscribe(d: Disposable) {}
|
||||
override fun onError(e: Throwable) {}
|
||||
override fun onComplete() {
|
||||
loopInfo.function.invoke()
|
||||
CallerLogger.d(TAG, "${aLong}正在执行方法${tag}_${Thread.currentThread().name}")
|
||||
}
|
||||
override fun onNext(t: String) {}
|
||||
})
|
||||
}else{
|
||||
loopInfo.function.invoke()
|
||||
CallerLogger.d(TAG, "${aLong}正在执行方法${tag}_${Thread.currentThread().name}")
|
||||
}
|
||||
}catch (e:Throwable){
|
||||
e.printStackTrace()
|
||||
CallerLogger.e(TAG,"$tag:--$e")
|
||||
@@ -1,3 +1,5 @@
|
||||
package com.mogo.och.common.module.manager.loopmanager
|
||||
|
||||
data class LoopInfo(val interval:Long,val function: () -> Unit,val immediately:Boolean=false)
|
||||
import io.reactivex.Scheduler
|
||||
|
||||
data class LoopInfo(val interval:Long,val function: () -> Unit,val immediately:Boolean=false,var scheduler: Scheduler? = null)
|
||||
Reference in New Issue
Block a user