Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement runtime-provided periodic timer input for source operators #51

Merged
merged 9 commits into from
Aug 5, 2022

Conversation

phil-opp
Copy link
Collaborator

@phil-opp phil-opp commented Jul 27, 2022

The periodic timer inputs allows operators to periodically produce values. To use the new input types, operators specify an input that maps to dora/timer/secs/X where X is the number of seconds between ticks. In addition to secs, the runtime also support millis for millisecond intervals.

The new dora timer nodes are visualized in the following way:

flowchart TB
  node_1[\node_1/]
  logger[/logger\]
subgraph python-operator [node]
  python-operator/op[op]
end
subgraph ___dora___ [dora]
  subgraph ___timer_timer___ [timer]
    dora/timer/secs/5[\secs/5/]
    dora/timer/millis/100[\millis/100/]
  end
end 
  python-operator/op -- counter as test --> logger
  dora/timer/secs/5 -- tick --> logger
  dora/timer/millis/100 -- dora_time --> python-operator/op
  node_1 -- data --> python-operator/op

Loading

TODO:

  • Implement parsing of new dora/timer/... inputs
  • Visualize the new timer inputs
  • Spawn a thread to send the timer tick messages

@phil-opp phil-opp marked this pull request as ready for review July 28, 2022 12:32
@phil-opp phil-opp requested a review from haixuanTao July 28, 2022 12:33
apis/rust/node/src/config.rs Outdated Show resolved Hide resolved
@phil-opp phil-opp mentioned this pull request Jul 28, 2022
2 tasks
@phil-opp phil-opp merged commit e7eeafa into main Aug 5, 2022
@phil-opp phil-opp deleted the timer-input branch August 5, 2022 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants