Class: Temporalio::Client::Interceptor::Outbound

Inherits:
Object
  • Object
show all
Defined in:
lib/temporalio/client/interceptor.rb

Overview

Outbound interceptor for intercepting client calls. This should be extended by users needing to intercept client actions.

Direct Known Subclasses

Internal::Client::Implementation

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(next_interceptor) ⇒ Outbound

Initialize outbound with the next interceptor in the chain.

Parameters:

  • next_interceptor (Outbound)

    Next interceptor in the chain.



389
390
391
# File 'lib/temporalio/client/interceptor.rb', line 389

def initialize(next_interceptor)
  @next_interceptor = next_interceptor
end

Instance Attribute Details

#next_interceptorOutbound (readonly)

Returns Next interceptor in the chain.

Returns:

  • (Outbound)

    Next interceptor in the chain.



384
385
386
# File 'lib/temporalio/client/interceptor.rb', line 384

def next_interceptor
  @next_interceptor
end

Instance Method Details

#backfill_schedule(input) ⇒ Object

Called for every ScheduleHandle#backfill call.

Parameters:



514
515
516
# File 'lib/temporalio/client/interceptor.rb', line 514

def backfill_schedule(input)
  next_interceptor.backfill_schedule(input)
end

#cancel_activity(input) ⇒ Object

Called for every ActivityHandle#cancel call.

WARNING: Standalone Activities are experimental.

Parameters:



614
615
616
# File 'lib/temporalio/client/interceptor.rb', line 614

def cancel_activity(input)
  next_interceptor.cancel_activity(input)
end

#cancel_workflow(input) ⇒ Object

Called for every WorkflowHandle#cancel call.

Parameters:



484
485
486
# File 'lib/temporalio/client/interceptor.rb', line 484

def cancel_workflow(input)
  next_interceptor.cancel_workflow(input)
end

#complete_async_activity(input) ⇒ Object

Called for every AsyncActivityHandle#complete call.

Parameters:



571
572
573
# File 'lib/temporalio/client/interceptor.rb', line 571

def complete_async_activity(input)
  next_interceptor.complete_async_activity(input)
end

#count_activities(input) ⇒ ActivityExecutionCount

Called for every Temporalio::Client#count_activities call.

WARNING: Standalone Activities are experimental.

Parameters:

Returns:



671
672
673
# File 'lib/temporalio/client/interceptor.rb', line 671

def count_activities(input)
  next_interceptor.count_activities(input)
end

#count_workflows(input) ⇒ WorkflowExecutionCount

Called for every Temporalio::Client#count_workflows call.

Parameters:

Returns:



430
431
432
# File 'lib/temporalio/client/interceptor.rb', line 430

def count_workflows(input)
  next_interceptor.count_workflows(input)
end

#create_schedule(input) ⇒ ScheduleHandle

Called for every Temporalio::Client#create_schedule call.

Parameters:

Returns:



499
500
501
# File 'lib/temporalio/client/interceptor.rb', line 499

def create_schedule(input)
  next_interceptor.create_schedule(input)
end

#delete_schedule(input) ⇒ Object

Called for every ScheduleHandle#delete call.

Parameters:



521
522
523
# File 'lib/temporalio/client/interceptor.rb', line 521

def delete_schedule(input)
  next_interceptor.delete_schedule(input)
end

#describe_activity(input) ⇒ ActivityExecution::Description

Called for every ActivityHandle#describe call.

WARNING: Standalone Activities are experimental.

Parameters:

Returns:



605
606
607
# File 'lib/temporalio/client/interceptor.rb', line 605

def describe_activity(input)
  next_interceptor.describe_activity(input)
end

#describe_schedule(input) ⇒ Schedule::Description

Called for every ScheduleHandle#describe call.

Parameters:

Returns:



529
530
531
# File 'lib/temporalio/client/interceptor.rb', line 529

def describe_schedule(input)
  next_interceptor.describe_schedule(input)
end

#describe_workflow(input) ⇒ WorkflowExecution::Description

Called for every WorkflowHandle#describe call.

Parameters:

Returns:



438
439
440
# File 'lib/temporalio/client/interceptor.rb', line 438

def describe_workflow(input)
  next_interceptor.describe_workflow(input)
end

#fail_async_activity(input) ⇒ Object

Called for every AsyncActivityHandle#fail call.

Parameters:



578
579
580
# File 'lib/temporalio/client/interceptor.rb', line 578

def fail_async_activity(input)
  next_interceptor.fail_async_activity(input)
end

#fetch_activity_outcome(input) ⇒ Api::Activity::V1::ActivityExecutionOutcome

Called by ActivityHandle#result to long-poll the activity outcome.

WARNING: Standalone Activities are experimental.

Parameters:

Returns:



681
682
683
# File 'lib/temporalio/client/interceptor.rb', line 681

def fetch_activity_outcome(input)
  next_interceptor.fetch_activity_outcome(input)
end

#fetch_workflow_history_events(input) ⇒ Enumerator<Api::History::V1::HistoryEvent>

Called everytime the client needs workflow history. This includes getting the result.

Parameters:

Returns:



446
447
448
# File 'lib/temporalio/client/interceptor.rb', line 446

def fetch_workflow_history_events(input)
  next_interceptor.fetch_workflow_history_events(input)
end

#heartbeat_async_activity(input) ⇒ Object

Called for every AsyncActivityHandle#heartbeat call.

Parameters:



564
565
566
# File 'lib/temporalio/client/interceptor.rb', line 564

def heartbeat_async_activity(input)
  next_interceptor.heartbeat_async_activity(input)
end

#list_activities(input) ⇒ Enumerator<ActivityExecution>

Called for every Temporalio::Client#list_activities call.

WARNING: Standalone Activities are experimental.

Parameters:

Returns:



661
662
663
# File 'lib/temporalio/client/interceptor.rb', line 661

def list_activities(input)
  next_interceptor.list_activities(input)
end

#list_schedules(input) ⇒ Enumerator<Schedule::List::Description>

Called for every Temporalio::Client#list_schedules call.

Parameters:

Returns:



507
508
509
# File 'lib/temporalio/client/interceptor.rb', line 507

def list_schedules(input)
  next_interceptor.list_schedules(input)
end

#list_workflow_page(input) ⇒ Client::ListWorkflowPage

Called for every Temporalio::Client#list_workflow_page call.

Parameters:

Returns:



422
423
424
# File 'lib/temporalio/client/interceptor.rb', line 422

def list_workflow_page(input)
  next_interceptor.list_workflow_page(input)
end

#pause_activity(input) ⇒ Object

Called for every ActivityHandle#pause call.

WARNING: Standalone Activities are experimental.

Parameters:



632
633
634
# File 'lib/temporalio/client/interceptor.rb', line 632

def pause_activity(input)
  next_interceptor.pause_activity(input)
end

#pause_schedule(input) ⇒ Object

Called for every ScheduleHandle#pause call.

Parameters:



536
537
538
# File 'lib/temporalio/client/interceptor.rb', line 536

def pause_schedule(input)
  next_interceptor.pause_schedule(input)
end

#poll_workflow_update(input) ⇒ Api::Update::V1::Outcome

Called when polling for update result.

Parameters:

Returns:



477
478
479
# File 'lib/temporalio/client/interceptor.rb', line 477

def poll_workflow_update(input)
  next_interceptor.poll_workflow_update(input)
end

#query_workflow(input) ⇒ Object?

Called for every WorkflowHandle#query call.

Parameters:

Returns:

  • (Object, nil)

    Query result.



461
462
463
# File 'lib/temporalio/client/interceptor.rb', line 461

def query_workflow(input)
  next_interceptor.query_workflow(input)
end

#report_cancellation_async_activity(input) ⇒ Object

Parameters:



585
586
587
# File 'lib/temporalio/client/interceptor.rb', line 585

def report_cancellation_async_activity(input)
  next_interceptor.report_cancellation_async_activity(input)
end

#signal_with_start_workflow(input) ⇒ WorkflowHandle

Parameters:

Returns:



414
415
416
# File 'lib/temporalio/client/interceptor.rb', line 414

def signal_with_start_workflow(input)
  next_interceptor.signal_with_start_workflow(input)
end

#signal_workflow(input) ⇒ Object

Called for every WorkflowHandle#signal call.

Parameters:



453
454
455
# File 'lib/temporalio/client/interceptor.rb', line 453

def signal_workflow(input)
  next_interceptor.signal_workflow(input)
end

#start_activity(input) ⇒ ActivityHandle

Called for every Temporalio::Client#start_activity and Temporalio::Client#execute_activity call.

WARNING: Standalone Activities are experimental.

Parameters:

Returns:



595
596
597
# File 'lib/temporalio/client/interceptor.rb', line 595

def start_activity(input)
  next_interceptor.start_activity(input)
end

#start_update_with_start_workflow(input) ⇒ WorkflowUpdateHandle

Parameters:

Returns:



406
407
408
# File 'lib/temporalio/client/interceptor.rb', line 406

def start_update_with_start_workflow(input)
  next_interceptor.start_update_with_start_workflow(input)
end

#start_workflow(input) ⇒ WorkflowHandle

Parameters:

Returns:



397
398
399
# File 'lib/temporalio/client/interceptor.rb', line 397

def start_workflow(input)
  next_interceptor.start_workflow(input)
end

#start_workflow_update(input) ⇒ WorkflowUpdateHandle

Called for every WorkflowHandle#start_update call.

Parameters:

Returns:



469
470
471
# File 'lib/temporalio/client/interceptor.rb', line 469

def start_workflow_update(input)
  next_interceptor.start_workflow_update(input)
end

#terminate_activity(input) ⇒ Object

Called for every ActivityHandle#terminate call.

WARNING: Standalone Activities are experimental.

Parameters:



623
624
625
# File 'lib/temporalio/client/interceptor.rb', line 623

def terminate_activity(input)
  next_interceptor.terminate_activity(input)
end

#terminate_workflow(input) ⇒ Object

Called for every WorkflowHandle#terminate call.

Parameters:



491
492
493
# File 'lib/temporalio/client/interceptor.rb', line 491

def terminate_workflow(input)
  next_interceptor.terminate_workflow(input)
end

#trigger_schedule(input) ⇒ Object

Called for every ScheduleHandle#trigger call.

Parameters:



543
544
545
# File 'lib/temporalio/client/interceptor.rb', line 543

def trigger_schedule(input)
  next_interceptor.trigger_schedule(input)
end

#unpause_activity(input) ⇒ Object

Called for every ActivityHandle#unpause call.

WARNING: Standalone Activities are experimental.

Parameters:



641
642
643
# File 'lib/temporalio/client/interceptor.rb', line 641

def unpause_activity(input)
  next_interceptor.unpause_activity(input)
end

#unpause_schedule(input) ⇒ Object

Called for every ScheduleHandle#unpause call.

Parameters:



550
551
552
# File 'lib/temporalio/client/interceptor.rb', line 550

def unpause_schedule(input)
  next_interceptor.unpause_schedule(input)
end

#update_activity_options(input) ⇒ Api::Activity::V1::ActivityOptions

Called for every ActivityHandle#update_options call.

WARNING: Standalone Activities are experimental.

Parameters:

Returns:



651
652
653
# File 'lib/temporalio/client/interceptor.rb', line 651

def update_activity_options(input)
  next_interceptor.update_activity_options(input)
end

#update_schedule(input) ⇒ Object

Called for every ScheduleHandle#update call.

Parameters:



557
558
559
# File 'lib/temporalio/client/interceptor.rb', line 557

def update_schedule(input)
  next_interceptor.update_schedule(input)
end