python:
@workflow.defn
class SleepForDaysWorkflow:
# Send an email every 30 days, for the year
@workflow.run
async def run(self) -> None:
for i in range(12):
# Activities have built-in support for timeouts and retries!
await workflow.execute_activity(
send_email,
start_to_close_timeout=timedelta(seconds=10),
)
# Sleep for 30 days (yes, really)!
await workflow.sleep(timedelta(days=30))
ruby:
# Send an email every 30 days, for the year
class SleepForDaysWorkflow
C#:
[Workflow]
public class SleepForDaysWorkflow
{
// Send an email every 30 days, for the year
[WorkflowRun]
public async Task RunAsync()
{
for (int i = 0; i act.SendEmail(),
new() { StartToCloseTimeout = TimeSpan.FromSeconds(10) });
// Sleep for 30 days (yes, really)!
await Workflow.DelayAsync(TimeSpan.FromDays(30));
}
}
}
PHP:
class SleepForDaysWorkflow implements SleepForDaysWorkflowInterface
{
// Send an email every 30 days.
public function sleepForDays(): void
{
for ($i = 0; $i sendEmailActivity->sendEmail();
// Sleep for 30 days (yes, really)!
Workflow::sleep(30 * 24 * 60 * 60)
}
}
}
感觉对于 java 程序员 php 的心智负担好小啊

