Files
BitLogger/docs/api/async-logger-is-running.md
T
2026-05-12 13:55:05 +08:00

2.0 KiB

name, group, category, update-time, description, key-word
name group category update-time description key-word
async-logger-is-running api async 20260512 Read whether the async logger worker is currently running and draining the queue.
async
logger
lifecycle
public

Async-logger-is-running

Read whether the async logger worker is currently active. This helper is useful for runtime diagnostics and shutdown coordination.

Interface

pub fn[S] AsyncLogger::is_running(self : AsyncLogger[S]) -> Bool {}

input

  • self : AsyncLogger[S] - Async logger whose worker state should be inspected.

output

  • Bool - Whether the async worker loop is currently running.

Explanation

Detailed rules explaining key parameters and behaviors

  • run() sets the running state while the worker loop is active.
  • The flag is cleared when the worker exits normally or after failure handling finishes.
  • A logger may be closed while still running briefly during final drain or shutdown processing.
  • This helper focuses on worker activity rather than queue size or failure details.

How to Use

Here are some specific examples provided.

When Need Worker Activity Diagnostics

When runtime output should show whether the worker loop is active:

println(logger.is_running().to_string())

In this example, diagnostics can distinguish an idle configured logger from one with an active worker.

When Coordinate Shutdown Waiting

When code should poll worker completion explicitly:

while logger.is_running() {
  @async.pause()
}

In this example, callers watch the worker lifecycle directly.

Error Case

e.g.:

  • If is_running() is false, pending records may still exist if the worker was never started or has already failed.

  • If callers need a one-shot lifecycle flow, shutdown() is usually better than manual polling.

Notes

  1. Use this helper for worker activity checks, not as a complete health signal.

  2. Pair it with has_failed() or state() when diagnosing stalled pipelines.