DLTcollab / dcurl

Hardware-accelerated Multi-threaded IOTA PoW, drop-in replacement for ccurl
MIT License
41 stars 23 forks source link

Determine and implement the behavior of dcurl with different remote component status #205

Open marktwtn opened 5 years ago

marktwtn commented 5 years ago

dcurl should keep working well with the different status of the remote component behind the remote interface, such as inactivation, termination or restart of RabbitMQ broker and remote worker .

RabbitMQ broker Remote worker Determined behavior
Inactivation
Termination
* Use local available hardware to do the PoW
Print out the warning
Restart * Use remote worker to do the PoW
Normal Inactivation
Termination
Wait remote worker for a while(10 sec) and use local available hardware to do the PoW if it does not restart
Normal Restart
Normal
Use remote worker to do the PoW
marktwtn commented 4 years ago

The visualization of current implementation would look like: 2019-12-19 03-14-54 的螢幕擷圖

marktwtn commented 4 years ago

After the RabbitMQ broker is restarted, if the connection is setup again, the dcurl can use the remote worker again.

I've found the corresponding code to setup again, but the source code execution flow should be considered carefully.