When using daemons with dispatcher, regenerates the token for the URL a dispatcher socket listens at.
Arguments
- i
integer index number URL to regenerate at dispatcher.
- force
[default FALSE] logical value whether to regenerate the URL even when there is an existing active connection.
- .compute
[default 'default'] character value for the compute profile to use (each compute profile has its own independent set of daemons).
Details
When a URL is regenerated, the listener at the specified socket is closed and replaced immediately, hence this function will only be successful if there are no existing connections at the socket (i.e. ‘online’ status shows 0), unless the argument ‘force’ is specified as TRUE.
If ‘force’ is specified as TRUE, the socket is immediately closed and regenerated. If this happens while a mirai task is still ongoing, it will be returned as an ‘errorValue’ 7 (Object closed). This may be used to cancel a task that consistently hangs or crashes to prevent it from failing repeatedly when new daemons connect.
Timeouts
Specifying the ‘.timeout’ argument to mirai
ensures that
the mirai always resolves. However, the task may not have completed and still
be ongoing in the daemon process. In such situations, dispatcher ensures that
queued tasks are not assigned to the busy process, however overall
performance may still be degraded if they remain in use.
If a process hangs and cannot be restarted otherwise, saisei
specifying force = TRUE
may be used to cancel the task and regenerate
any particular URL for a new daemon
to connect to.