0

我正在一个拥有大约 15 万用户的网站上工作。我必须创建一个包含用户详细信息(drupal 字段和 profile2 字段)的 csv 文件,并每天将 csv 导出到另一台服务器。

我已经在 hook_cron 中通过导出函数实现了,在函数中我执行了 user_load 函数调用和两个 profile2_load_by_user 以及其他一些自定义 mysql 查询。

我遇到的问题是我的 export_function 似乎没有终止,它可能是超时或内存问题。

我已经测试了我的功能,我将用户数量限制在 1000 左右,并且效果很好。

我想知道是否可以通过 hook_cron 导出大量数据。

4

1 回答 1

1

您应该检查服务器的错误日志,以确定它是否真的是内存或超时问题。然后您可以微调您的 php.ini 以反映您的要求。请记住,这memory_limitmax_execution_time有原因的,您应该在修改这些设置时调查对服务器的影响。

更安全的解决方案可能是在多个 cron 周期内分块导出用户数据。

您可能还想检查视图数据导出模块作为导出数据的替代方法。

于 2013-10-05T19:21:17.327 回答