我有一个Drupal模块,它通过hook_nodapi在节点上执行soap请求。这不是单个保存的大量性能损失,但如果以批处理模式保存数千个节点,则这是一个很大的瓶颈。
我想在从批处理模式调用钩子时执行不同的操作,但是看不到一种简单的方法来告诉它。
有没有人有任何想法?
答案 0 :(得分:3)
您可以致电batch_get()
并查看结果。如果它不为空,则表示您处于批处理模式。
(注意:在这里假设Drupal-6)
答案 1 :(得分:1)
如果您使用Batch API参考drupal级批处理,Henrik的建议最好。
但是,如果您正在引用shell驱动的批处理过程,这对于大批量比基于Web的批处理更实用,则可以测试php_sapi_name():如果返回为"cli"
,然后它是命令行,可以是一个shell批处理。取决于您的背景
答案 2 :(得分:0)
您可以使用在脚本开头设置的全局变量,并在最后取消设置/更改值。然后你可以在你的钩子中检查那个全局变量,如果它设置了某个值就什么都不做。