Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tornado Sockets PHP/MySql对话框确认_Php_Mysql_Symfony_Jquery Ui Dialog_Tornado - Fatal编程技术网

Tornado Sockets PHP/MySql对话框确认

Tornado Sockets PHP/MySql对话框确认,php,mysql,symfony,jquery-ui-dialog,tornado,Php,Mysql,Symfony,Jquery Ui Dialog,Tornado,我正在创建一个结合使用Tornado Web服务器和Symfony的应用程序 tornado部分使用套接字,每1000毫秒查询一次数据库,并检查它是否与当前存储在缓存中的内容不同(有点像redis或memcache) 如果键值对中有任何不同,那么它会触发一个javascript查询,向symfony应用程序传递新信息,并触发一个jquery ui对话框,说“嘿,轮到你了”,然后等待用户输入更改mysql数据库,然后再次启动整个过程并发送“Somethings Changed”消息发送给其他用户

我正在创建一个结合使用Tornado Web服务器和Symfony的应用程序

tornado部分使用套接字,每1000毫秒查询一次数据库,并检查它是否与当前存储在缓存中的内容不同(有点像redis或memcache)

如果键值对中有任何不同,那么它会触发一个javascript查询,向symfony应用程序传递新信息,并触发一个jquery ui对话框,说“嘿,轮到你了”,然后等待用户输入更改mysql数据库,然后再次启动整个过程并发送“Somethings Changed”消息发送给其他用户

我遇到的问题是,对话框有时无法触发,因为它接收到一条空白的“Somethings Changed”消息

我认为发生的事情是因为Symfony和Tornado都在操纵数据库,在Symfony应用程序中弹出对话框之前,“Somethings Changed”消息就会触发

我想做的是找出一种方法来知道在更新过程中是否打开了特定的jquery对话框,如果还没有打开,则发送一条消息以再次更新

一种方法是在Tornado中使用随机数进行数据库更新,然后在对话框打开时将cookie设置为该随机数。如果cookie与数据库条目匹配,则表示已看到正确的对话框。如果不匹配,则再次触发推送更新

我在这里偏离了基准吗?这个理论离实现它的方法更近了吗

这是我的应用程序的最后一部分,10次中有8到9次有效

如有任何想法或建议,将不胜感激