给定时间后在erlang中自动调用的函数

Gee*_*eek 2 erlang ejabberd

是否有任何二郎函数被调用自动给定的时间量后,一旦被触发就会自动给定的时间量之后被调用,应该没有必要一次又一次触发它。我正在用Erlang编写一个模块,该模块在上执行清理任务ejabberd server。一旦触发此模块,则需要每天自动调用。有指针吗?

Pas*_*cal 6

计时器提供以下功能:

  • apply_after, send_after 允许在一定时间后执行功能或发送消息,

  • apply_interval, send_interval 允许定期执行功能或发送消息。

结合使用apply_after和apply_interval或发送间隔,您应该可以执行所需的操作。


Dan*_*nko 5

请参阅timer:apply_after/4

例:

-module(my_module).
-export([foo/1]).

foo(Text) ->
    error_logger:info_msg(Text, []).
Run Code Online (Sandbox Code Playgroud)

10000毫秒后调用foo:

timer:apply_after(10000, my_module, foo, ["Hello!"]).
Run Code Online (Sandbox Code Playgroud)