Storm: you can set topology.message.timeout.secs much higher for a single bolt

Part of my topology depends on working with a third-party API, which restricts certain calls to 15-minute windows. In the worst case, the speed limit will land and the bolt will have to sleep for 15 minutes. Unfortunately, it seems that I canโ€™t say that the storm โ€œsleepsโ€ on the task for 15 minutes, but I hope I'm wrong.

Alternatively, is there a way to handle a time-limited task like this in a storm? (do you have a nose with another nose?).

+4
source share
3 answers

I am not aware of any configuration that allows this, and Config does not offer a configuration entry for it.

Workaround as you suggested. When you got your output from a third-party API, submit it to a special nozzle, which, in turn, issues it to the โ€œcallbackโ€ Bolt.

+3
source

You can take a look at ticktuple (but this is only 600 seconds)

 ``` Config conf = new Config(); conf.put(Config.TOPOLOGY_TICK_TUPLE_FREQ_SECS, 1); ``` 

So look this

+1
source

You might want to check the TOPOLOGY_DISRUPTOR_WAIT_STRATEGY attribute as indicated here

+1
source

Source: https://habr.com/ru/post/1499825/


All Articles