我在timeman mosule中添加了一个功能,如下所示。
class CTimeManReport extends CAllTimeManReport
{
function testAgent()
{
mail('t@demo.co.in','agent','agent');
return "testAgent();";
}
}
现在我想每60秒运行一次此功能。我通过“代理”部分的控制面板添加了代理,但其只能运行一次。
答案 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