-
cache_fetch(storage_id, attribute_name, result_pvar)
此函数用于从类内存缓存的存储系统中获取属性值。属性名称可能包含伪变量。结果(如果有)将存储在 result_pvar 指定的伪变量中。
如果找到属性并且返回其数值,那么函数返回值是 true。
cache_fetch("local", "my_attr", $var(result));
或者:
modparam("cachedb_redis", "cachedb_url", "redis:cluster1://192.168.2.134:6379/") ... cache_fetch("redis:cluster1", "my_attr", $var(ret));
-
subscribe_event(string, string [, int])
为 OpenSIPS 事件接口的特定事件订阅外部应用程序。这用于无法自行订阅的传输协议(例如 event_rabbitmq)。
如果订阅未过期,则此函数应仅在启动路径中调用一次,如果订阅应每隔一段时间续订,则应在计时器路径中调用一次。
第一个参数是一个字符串,表示应通知外部应用程序的事件名称。第二个参数是一个字符串,用于指定外部应用程序的套接字。请注意,此套接字应遵循现有加载的事件接口传输模块的语法(例如:event_datagram、event_rabbitmq)。
最后一个参数是可选的,用于指定订阅的过期时间。如果不存在,则订阅根本不会过期。
使用示例(从不过期的订阅者,由 RabbitMQ 模块通知):
startup_route { subscribe_event("E_PIKE_BLOCKED", "rabbitmq:127.0.0.1/pike"); }