0

我在 timeman mosule 中添加了一项功能,如下所示。

class CTimeManReport extends CAllTimeManReport
{

   function testAgent()
   {
    mail('t@demo.co.in','agent','agent');
    return "testAgent();";
   }


}

现在我想每 60 秒运行一次这个功能。我已经通过代理部分的控制面板添加了代理,但它只运行一次。

4

1 回答 1

2

运行代理 bitrix 后添加到代理函数返回的数据库值。所以在你的情况下,一定是return "CTimeManReport::testAgent();"因为你的函数是一个类方法。

另外,它必须是类方法,而不是实例方法,所以public static在你的函数之前添加

所以,试着做这样的事情:

class CTimeManReport extends CAllTimeManReport
{

   public static function testAgent()
   {
    mail('t@demo.co.in','agent','agent');
    return "CTimeManReport::testAgent();";
   }
}

如果此建议没有帮助,您可以为您的代理添加 cron 支持,因为默认情况下它们适用于页面重新加载。按照此链接获取说明

PS不要将自己的代码添加到bitrix模块的代码中。因为您可能会在 bitrix 更新后丢失您的代码。添加您自己的代码或将您的类包含到local/php_interface/init.php

于 2018-10-04T14:19:10.333 回答