我正在尝试在lua为Citrix Netscaler编写策略扩展,计算字符串的base64并将其添加到标头中。大多数情况下,该函数工作得很好,但我在ns.log
中看到的次数超过了以下消息终止执行 -
终止执行,功能超出时间限制。
在文档中没有任何地方可以找到这个时间限制的确切时间(从我看到它的大约1毫秒,这对我来说没有意义)或如何配置它。
所以我的问题是:这个属性是否可配置,如果是这样的话?
答案 0 :(得分:0)
为什么你需要去'lua'?使用策略表达式,您可以执行text.b64encode或text.b64decode。我没有回答你的Q,但你可能不知道Netscaler中的内置编码器/解码器。
答案 1 :(得分:0)
尽管我没有任何正式文件,但我认为任何策略的最长执行时间均为10毫秒。柜台也对此有所确认。在shell上执行以下命令:
nsconmsg -K /var/nslog/newnslog -d stats -g 10ms -g timeout
您将看到所有具有这些名称的计数器。在脚本执行期间,您可以运行
nsconmsg -d current-g 10ms -g timeout
这将使您实时查看计数器。失败时,您会看到值递增。
我想说,您可以在脚本运行时在ns.log上打印时间以确认这一点。我不确切知道您在做什么,但是请记住,netscaler策略应该执行非常简短的执行,毕竟您正在处理一个数据包,而数据包的大小约为纳秒。