小编Hom*_*er6的帖子

如何将flask和flask_sockets集成到在uwsgi下运行的单个应用程序中

我有一个现有的应用程序在nginx后面运行uwsgi/flask.我想将websockets集成到同一个应用程序中.Flask插座看起来很有前景,所以我正在尝试.

Flask套接字简要提到运行gevent-websocket,但没有提供示例代码来将现有应用程序集成到此设置中.我也尝试了几种gevent-websocket与我现有的烧瓶应用程序的组合,但我仍然保持500秒.另外,如果我能找到500的本质,那将是很好的,但错误不会出现在uwsgi日志中,就像它们对现有的烧瓶应用程序一样.所以,如果你有任何调试下降来显示一个tracedump,那就太好了.

任何人都可以帮我一个简单的回声路线使用这个设置吗?提前致谢.

仅供参考,我目前正在使用:

  • uWSGI 1.0.3-debian
  • python 2.7.3
  • 烧瓶0.10.1
  • nginx 1.4.3
  • 烧瓶插座0.1

python flask uwsgi flask-sockets

6
推荐指数
1
解决办法
1803
查看次数

使用valgrind在mysql c ++客户端中查找内存泄漏

我正在使用valgrind来尝试追踪内存泄漏是从mysql分发的mysql c ++客户端.

在示例(resultset.cpp)和我自己的程序中,都有一个未释放的56字节块.在我自己的程序中,我已经将泄漏跟踪到对mysql客户端的调用.

以下是我运行测试时的结果:

valgrind --leak-check=full --show-reachable=yes ./my-executable

==29858== Memcheck, a memory error detector
==29858== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==29858== Using Valgrind-3.6.0.SVN-Debian and LibVEX; rerun with -h for copyright info
==29858== Command: ./my-executable
==29858==
==29858==
==29858== HEAP SUMMARY:
==29858==     in use at exit: 56 bytes in 1 blocks
==29858==   total heap usage: 693 allocs, 692 frees, 308,667 bytes allocated
==29858==
==29858== 56 bytes in 1 blocks are still reachable in loss record …
Run Code Online (Sandbox Code Playgroud)

c++ linux valgrind memory-leaks memory-leak-detector

5
推荐指数
1
解决办法
841
查看次数

从非python(芹菜和rabbitmq)消费pickle二进制格式

我正在使用Python,Celery和RabbitMQ来生成来自松散耦合系统的消息.但是,我担心互操作性.

当直接从RabbitMQ检查消息有效负载时,由celery生成,我得到以下二进制格式:

二进制版芹菜输出

我强烈怀疑这是一种二元泡菜格式.但是,我很难找到关于二元泡菜格式的信息.

所以,我真的有几个问题:

  1. 这是二元泡菜格式吗?
  2. 可以使用哪些资源来映射二进制格式?
  3. 事实上,鉴于芹菜确实产生了腌制数据,如果我想从非python消费者那里使用这些消息(例如c ++或php),我可以选择哪些选项?
  4. 您是否有使用Celery,RabbitMQ以及与其他非python消费者互操作的经验.你对这个问题有什么建议吗?

提前致谢...

更新:

根据Brendan的建议,我已将其切换为JSON序列化程序:

add.apply_async(args=[10, 10], serializer="json")
Run Code Online (Sandbox Code Playgroud)

作为未来搜索者的参考,似乎JSON格式在这个特定的空案例中大约增加了15%(或28个字节):

来自芹菜的JSON序列化版本

另外,对于那些可能有兴趣从c ++阅读pickle格式的人,我发现这个问题很有用: 如何从C读取python pickle数据库/文件?

更新2:

根据Asksol的建议,我试用了zlib压缩:

async_result = add.apply_async( (x, y), compression='zlib' )
Run Code Online (Sandbox Code Playgroud)

我认为有一些有趣的结果,所以这里是:

格式比较表

正如您在此示例中所看到的,Pickle格式小于JSON.但是,当压缩添加到混合中时,压缩的JSON实际上小于任何版本的Pickle.我也很好奇这两种格式的解析时间.虽然JSON旨在解析性能,但Pickle基于偏移,这意味着它不必迭代.我想知道是否有人在这两种格式上做过任何性能基准测试,包括压缩和不压缩,并考虑解析CPU时间.

python pickle rabbitmq celery

5
推荐指数
1
解决办法
2764
查看次数

如何从PHP调用MySQL交互式客户端?

我想要的

`mysql -uroot`;
Run Code Online (Sandbox Code Playgroud)

进行MySQL交互式客户端就像执行一样

$ mysql -uroot 
Run Code Online (Sandbox Code Playgroud)

从shell做的.

如果PHP脚本在之后(或之前)存在,那也没关系,但我需要它来调用MySQL客户端.

我尝试过使用proc_open(),当然还有system(),exec()和passthru().想知道是否有人有任何提示.

php mysql shell system

3
推荐指数
1
解决办法
1162
查看次数