Module: Temporalio::Workflow::Unsafe

Defined in:
lib/temporalio/workflow.rb

Overview

Unsafe module contains only-in-workflow methods that are considered unsafe. These should not be used unless the consequences are understood.

Class Method Summary collapse

Class Method Details

.illegal_call_tracing_disabled { ... } ⇒ Object

Run a block of code with illegal call tracing disabled. Users should be cautious about using this as it can often signify unsafe code.

Yields:

  • Block to run with call tracing disabled

Returns:

  • (Object)

    Result of the block.



522
523
524
# File 'lib/temporalio/workflow.rb', line 522

def self.illegal_call_tracing_disabled(&)
  Workflow._current.illegal_call_tracing_disabled(&)
end

.io_enabledObject

Run a block of code with IO enabled. Specifically this allows the ‘io_wait` call of the fiber scheduler to work. Users should be cautious about using this as it can often signify unsafe code. Note, this is often only applicable to network code as file IO and most process-based IO does not go through scheduler `io_wait`.



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

def self.io_enabled(&)
  Workflow._current.io_enabled(&)
end

.replaying?Boolean

Returns True if the workflow is replaying, false otherwise. Most code should not check this value.

Returns:

  • (Boolean)

    True if the workflow is replaying, false otherwise. Most code should not check this value.



512
513
514
# File 'lib/temporalio/workflow.rb', line 512

def self.replaying?
  Workflow._current.replaying?
end