Introduction to Activities
An Activity is a function that executes a single, well-defined action (either short or long running), which handles operations that can fail. Here are some examples:
- Sending e-mails
- API calls
- Database writes
- Network requests
An Activity involves code that is prone to failure because if it fails (let’s say the API is down), Temporal automatically retries it over and over until it succeeds or until your customized retry or timeout configuration is hit.
Here are two Activities: one for withdrawing money and one for depositing money.
require 'temporalio/activity'
class WithdrawMoneyActivity < Temporalio::Activity::Definition
def execute(amount)
# raise StandardError, 'Bank service temporarily unavailable'
puts "Successfully withdrawn $#{amount}"
true
end
end
class DepositMoneyActivity < Temporalio::Activity::Definition
def execute(amount)
puts "Successfully deposited $#{amount}"
true
end
end
See our code in more detail here.