关于PHP和Django / Python同时进行mysql访问的几个问题

时间:2011-05-06 08:55:17

标签: php mysql database django

我想要做的(并且已经完成)是访问相同的MySQL数据库。和来自PHP脚本和Django应用程序的表。但是,我想知道我这样做的方式是否会导致错误或问题。我希望你能帮忙:)。

截至目前的设置:

问题是我正在建立一个2路短信网关的东西。 用户向sms-gateway提供者发送sms消息,然后向后者发送POST请求到我指定的URL。

mydomain.com/gateway/receive.php

此脚本将数据(由网关提供商定义)消息,发件人,代码插入MySQL数据库。还有一个名为gateway的表...以及一个名为'retrieve'的变量,它首先是一个布尔值和= False。然后它返回一个XML响应给网关提供者,以便他们可以确定已经传递了短信(并通过短信通知用户)

每隔几分钟,我的django app。通过相同的数据库查看。和table并查找所有带有“retrieve = False”的短信条目。对于每个对象,使用相同的数据创建Django应用程序中的新对象(此对象然后绑定到确切的用户,加时间戳,格式化等等),并且来自网关表的原始对象设置为“retrieve = True”然后保存...(以防万一...并用于“日志”目的)

我使用PHP的原因是因为托管服务的响应时间。 PHP更快(直接在nginx服务器之后)而不是django应用程序。它位于自定义构建apache2服务器上。因此,为了使设置的短信部分正常工作,我将不得不使用PHP作为该部分。另外我发现简单的PHP脚本比更复杂的apache2 + Django设置更不容易停机。

所以问题是......这会导致任何问题......让PHP和Django / Python脚本访问相同的mysql数据库。同时?是不是设计这种事情的正确方法......我主要担心的是PHP脚本在插入新内容时遇到的麻烦,而Django部分读取/编辑旧的东西(或相同的东西)

我希望这是有道理的。那你可以帮忙......?可能是一个非问题...我只想有一点确定性:)

感谢。

问候

皮特

2 个答案:

答案 0 :(得分:0)

使用transactions,甚至是in queries

答案 1 :(得分:0)

只要您的第一个流程只是插入新数据而第二个流程/更新现有记录,您就应该非常安全。如果没有,那么你应该考虑使用乐观或悲观锁定和/或使用交易。