Hi anna, According to your description, I think we can use the Timer to solve your problem. The TimerService deduplicates timers per key and timestamp. Also, note that a large number of timers can significantly increase checkpointing time.
On Tue, Jul 10, 2018 at 11:38 AM, anna stax <annasta...@gmail.com> wrote: > Thanks Hequn, for the links. > > This is my use case.. > > When there is no user activity for n weeks, I need to send a Notification > to user. > The activity stream is usually very high volume for most users. > I thought it is not a good idea to use windowing for this, because of the > stream volume and window size. > I want to store in the state, for every user the last activity date and > process them once daily. > > I want to make sure I am heading in the right direction. Thank you for > your suggestions. > > -Anna > > On Mon, Jul 9, 2018 at 7:16 PM, Hequn Cheng <chenghe...@gmail.com> wrote: > >> Hi anna, >> >> > I need to trigger a function once every day >> If you want to trigger by the function itself, you can use the >> Timer[1]. Both types of timers (processing-time and event-time) are >> internally maintained by the TimerService, and onTimer() method will be >> called once a timer fires. >> If you want to trigger the function of different >> parallelism synchronously, then the broadcast state[2] may be helpful. >> >> Hope this helps. >> Hequn >> >> [1] https://ci.apache.org/projects/flink/flink-docs-master/dev/ >> stream/operators/process_function.html#timers >> [2] https://ci.apache.org/projects/flink/flink-docs-master/ >> dev/stream/state/broadcast_state.html >> >> On Tue, Jul 10, 2018 at 7:47 AM, anna stax <annasta...@gmail.com> wrote: >> >>> Hi all, >>> >>> I need to trigger a function once every day to read the state and create >>> kafka events and also remove some records from state if they are too old. >>> >>> Is there a way to do this? I am new to Flink, appreciate any feedback >>> and suggestions. >>> >>> Thanks >>> Anna >>> >> >> >