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

Activity support #161

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

Activity support #161

wants to merge 5 commits into from

Conversation

cretz
Copy link
Member

@cretz cretz commented Oct 3, 2024

What was changed:

Added full activity support including:

  • Worker with ability to run multiple concurrently
  • Thread-pool-based and fiber-based activities
  • Class, instance, and definition-based activities
  • Ability to customize activity name, executor, and whether it raises on cancel
  • Cancellation token like concept with Temporalio::Cancellation
  • Full-featured context with cancellation, heartbeating, info, logging, etc
  • Worker interceptors
  • Sigs and tests for all

Want to help review?

Great! We welcome all reviews/feedback from everyone. If the PR gets too many comments on it, we may create a new PR for another round of comments. I know the 100-file-count can seem daunting, but a lot of it is generated or unimportant code.

What type of reviewer do you want to be?

I want to review high-level design only

Review README.md.

I want to review how the activities work, but do not care about the implementation

In addition to README.md, also review temporalio/test/worker_activity_test.rb.

I want to review the Ruby implementation but do not want to dig into the Rust side

Review everything but what's in temporalio/ext

I want to help review the Rust side including

Review everything. Maybe even go one further and help us solve/understand #162 and why Ruby 3.1/3.2 wakes up queue-pop
fibers on some queue pushes but not others (and if there's a better way for us to wake up a fiber from another thread).

@cretz cretz force-pushed the activity-worker branch 2 times, most recently from 07d9668 to d52d600 Compare October 4, 2024 16:59
@cretz cretz force-pushed the activity-worker branch 3 times, most recently from e638dd5 to 97fd76a Compare October 7, 2024 18:19
@cretz cretz requested a review from a team October 7, 2024 19:25
@cretz cretz marked this pull request as ready for review October 7, 2024 19:26
Copy link
Member Author

@cretz cretz Oct 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is basically just a file move from temporalio/lib/temporalio/client/implementation.rb. Only the async activity stuff at the bottom is new.

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.

1 participant