2017-04-09 67 views
0

我开发了一个在web派系服务器上使用Django和python3的chatbot web应用程序。基本上聊天机器人作为客户服务器与商店的用户进行交互。它使用REST API来POST用户输入和GET以显示chatbot输出和一个python文件来处理输入并找到输出。从Sqlite3到Django Chatbot网站的Mysql

聊天是如何工作的:

1 chatboy.js:它的第一篇文章,用户输入的API中然后运行Python文件chabot.py。

2. chabot.py:一个连接到Django后端db.sqlite3和conversation.sqlite3的python文件。因此,它从db.sqlite3中选择用户输入,然后在conversation.sqlite3中选择匹配的输出。最后,该文件将更新db.sqlite3中的chatbot输出。

3. chatboy.js:将获取最后一个chatbot输出并显示它。

在开发阶段,当我在本地服务器上测试应用程序时,一切正常,但问题出现了,我们在互联网上部署了Django项目。天色和停止申请表工作的主要ERORR是:

The database is locked 

我做了很多研究,发现了:

  1. sqlite3的是不能用于生产,只单独小或站立应用。

  2. sqlite3有一个多线程问题。

  3. 不适合实时聊天应用。

一些建议,说无论是

  1. 切换所有的sqlite3到MySQL(但如何?以及如何我可以改变SQL查询的Python文件,以适应MySQL的)
  2. 使用快速键保值像Reddis(意思使其后端数据库形成我的项目或伸出的conversation.sqlite3?)

请帮助我,因为它是非常令人沮丧,我有这个错误很长一段时间,我找不到解决问题的办法。

谢谢你,

PS:我使用的Django 10,python3,sqlite3的,网络派服务器

+0

如果您使用的是Django,则不需要更改任何查询; ORM的一大优点就是数据库不可知。 –

+0

@DanielRoseman感谢您的回复,那么最好是将数据库表格sqlite更改为mysql? – user7649420

回答

0

你只需要更新您的设置文件,以更改数据库设置从sqlite3的到MySQL或PostgreSQL 。但在此之前,您需要在Webfaction控制面板中创建数据库(更多信息,请参阅here)。