我正在一个拥有大约15万用户的网站上工作。我必须创建一个csv文件,其中包含用户的详细信息(drupal字段和profile2字段),并每天将csv导出到另一台服务器。
我已经通过导出函数在hook_cron中实现,在函数中我执行了user_load函数调用和两个profile2_load_by_user以及一些其他自定义mysql查询。
我遇到的问题是我的export_function似乎没有终止,可能是超时或内存问题。
我已经测试了我的功能,我将用户数限制在1000左右,并且工作正常。
我想知道是否可以通过hook_cron导出大量数据。
答案 0 :(得分:1)
您应该检查服务器的错误日志,以确定它是否真的是内存或超时问题。然后,您可以微调您的php.ini以反映您的要求。请注意memory_limit
和max_execution_time
是有原因的,您应该在修改这些设置时调查对服务器的影响。
更安全的解决方案可能是在多个cron周期内以块的形式导出用户数据。
您可能还想检查Views data export模块作为导出数据的替代方法。