ranch:wait_for_connections(3)

Name

ranch:wait_for_connections - Wait for a specific number of connections

Description

wait_for_connections(Ref      :: ranch:ref(),
                     Operator,
                     NumConns :: non_neg_integer())
    -> ok

Operator :: '>' | '>=' | '==' | '=<' | '<'

Wait for a specific number of connections.

This function waits until the number of connections on the given listener becomes higher than, equal to or lower than the given number. It never returns otherwise.

This function can be used to gracefully shutdown a listener by first suspending the listener and then waiting for connections to terminate before finally stopping the listener.

Arguments

Ref

The listener name.

Operator

The operator to use for the comparison.

NumConns

The number of connections to reach.

Return value

The atom ok is always returned. It can be safely ignored.

Changelog

  • 1.6: Function introduced.

Examples

Wait for at least 100 connections
ranch:wait_for_connections(example, '>=', 100).
Gracefully shutdown a listener
Ref = example,

ok = ranch:suspend_listener(Ref),
ranch:wait_for_connections(Ref, '==', 0),
ok = ranch:stop_listener(Ref).

See also

ranch:stop_listener(3), ranch:suspend_listener(3), ranch:resume_listener(3), ranch(3)

Ranch 2.0 Function Reference

Navigation

Version select

Like my work? Donate!

Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:

Recurring payment options are also available via GitHub Sponsors. These funds are used to cover the recurring expenses like food, dedicated servers or domain names.