将 mysql DB 与 xml 文件同步


sync mysql DB with xml file

  1. 我有wordpress页面(以及带有wp表的mysql db。
  2. 我在数据库中有名为"custom_table"的自定义表

我需要的是添加在wordpress页面上上传xml文件的功能,然后将我的custom_table与此xml同步,以便表格反映xml文件。

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

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

当您处理缓慢的互联网连接和有可能超时的脚本时,6MB 就很多了。

我看到您在这里尝试解决的 3 个问题 -

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