创建代理并每60秒运行一次。在bitrix24中

时间:2018-10-04 12:08:22

标签: php agent bitrix

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

class CTimeManReport extends CAllTimeManReport
{

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


}

现在我想每60秒运行一次此功能。我通过“代理”部分的控制面板添加了代理,但其只能运行一次。

1 个答案:

答案 0 :(得分: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支持,因为默认情况下,它们在重新加载页面时起作用。按照this link的说明进行操作

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