应用场景:
客户上传文件,django服务器在数据库里写入一条status=1的数据.然后交给rabbit读取文件并且解析,解析完成后把status设置成2。
rabbitmq的传输格式是{"file":"test", "dataSourceId":"1"}
.因为传递的是id,所以有时候rabbitmq会报错说没有这条记录。
这是写入数据的方法
这是解析函数,现在sleep就不会报错。
我想问下怎么让rabbitmq的程序等django写完数据再去读啊?或者有别的思路可以避免读不出来数据
应用场景:
客户上传文件,django服务器在数据库里写入一条status=1的数据.然后交给rabbit读取文件并且解析,解析完成后把status设置成2。
rabbitmq的传输格式是{"file":"test", "dataSourceId":"1"}
.因为传递的是id,所以有时候rabbitmq会报错说没有这条记录。
这是写入数据的方法
这是解析函数,现在sleep就不会报错。
我想问下怎么让rabbitmq的程序等django写完数据再去读啊?或者有别的思路可以避免读不出来数据
2 回答4.9k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
4 回答825 阅读✓ 已解决
4 回答727 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
8 回答1.1k 阅读
大概意思,我是看懂了,就是说,是异步操作,并不能保证是完成的顺序性。
我可以提供一个思路。是不是可以设置一个全局变量flag,在某个操作完成后,修改flag的值,根据值来判断是否可以有id这条记录。