将mysql DB与xml文件同步

时间:2013-10-14 10:30:59

标签: php mysql wordpress

  1. 我有wordpress页面(以及带有wp表的mysql数据库。
  2. 我在DB中有自定义表名为“custom_table”
  3. 我需要的是添加在wordpress页面上传xml文件的功能,然后将我的custom_table与此xml同步,以便该表反映xml文件。

    XML文件大小现在约为6MB,但我想它可能会在未来增长。 在同步期间,custom_table必须完好无损 - 我的意思是在同步期间对表的更改必须是原子的 - 全部或全部。

    在普通的PHP脚本中执行此操作是个好主意,或者我应该为这些内容做一些后台工作?例如,将xml文件上传到服务器,然后在后台运行一个将解析xml文件并放入DB的作业?

1 个答案:

答案 0 :(得分:1)

当你处理慢速互联网连接和有可能超时的脚本时,6MB是很多的。

我在这里看到你要解决的3个问题 -

  1. 长时间运行的流程 - 后台工作非常适合这一点。您可以使用pcnt_fork()或仅关闭会话然后继续处理来切断用户会话。确保将max_execution时间设置为0或足够长。
  2. 原子性 - ACID是InnoDB格式的主要特征。将表创建为InnoDB而不是MyISAM。
  3. 完成 - 您需要跟踪成功/失败。后台作业很难调试。当您使用Wordpress时,我假设您在共享主机上?您可以尝试在代码中的适当位置添加语句,这些语句将向您发送电子邮件或使用系统日志记录(如果您可以使用)。另一种方法是为日志提供单独的表。