小编cas*_*rco的帖子

Vert.x中的群集和共享数据

我正在开发Vert.x(基于Netty和Hazelcast),我正在尝试在两个服务器实例之间共享数据(在同一局域网中不同机器中的那些实例的eache).

我的问题是我不知道如何配置vert.x服务器以允许它们共享它们的并发内存映射(理论上说这是可能的).

我已经阅读了Vert.x和Hazelcast的许多文档,但我还没有结果.(我不知道如何强制vert.x加载hazelcast xml配置文件).

提前致谢!

hazelcast vert.x

15
推荐指数
2
解决办法
9982
查看次数

可以将C89代码与C99代码混合使用吗?

我对许多与不同C规格有关的事情都有疑问.

如果我在C99中编写库,我可以在C89代码中使用它吗?(仅使用符合C89的定义的函数).

例如,这段代码可以在C89中使用吗?

共享库的标头:


#ifdef C99
 void func (double complex a, double complex b); // C99 function
#endif

 /* another C89 compliant function */
 void func2 (double a, double b);

提前致谢 :)

c c99 c89

7
推荐指数
1
解决办法
643
查看次数

PHP,in_array和快速搜索(最后)在数组中

我怀疑在数组中进行快速搜索的更好方法是什么(我在谈论具体情况).

假设我有一个数组L = [A,B,C](当我开始时).当程序运行时,可能L会增长(但到最后),我将进行搜索的一种可能情况是L = [A,B,C,D,E].

事实是,当我搜索时,我想要找到的值可能只有D和E.现在我正在使用find_array(elem,array),但是这个函数不能被"调整"到搜索开始结束并减少索引,我"害怕"对于所有搜索,函数in_array将检查所有具有较低索引的元素,然后才能找到我正在搜索的值.

¿有另一种搜索功能更适合我的问题吗?¿如何在in_array函数内部工作?

提前致谢

php performance search

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

有一个Spyne客户端的例子吗?

我正在尝试在我的服务器中使用spyne(http://spyne.io)和ZeroMQ和MsgPack.我已按照示例对服务器端进行编程,但我找不到任何帮助我了解如何编程客户端的示例.

我找到了类spyne.client.zeromq.ZeroMQClient,但我不知道它应该是它的构造函数的'app'参数.

先感谢您!

编辑:

(简化的)服务器端代码:

from spyne.application import Application
from spyne.protocol.msgpack import MessagePackRpc
from spyne.server.zeromq import ZeroMQServer
from spyne.service import ServiceBase
from spyne.decorator import srpc
from spyne.model.primitive import Unicode

class RadianteRPC(ServiceBase):    
    @srpc(_returns=Unicode)
    def whoiam():
        return "Hello I am Seldon!"

radiante_rpc = Application(
    [RadianteRPC],
    tns="radiante.rpc",
    in_protocol=MessagePackRpc(validator="soft"),
    out_protocol=MessagePackRpc()
)

s = ZeroMQServer(radiante_rpc, "tcp://127.0.0.1:5001")
s.serve_forever()
Run Code Online (Sandbox Code Playgroud)

python zeromq msgpack spyne

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

如何将生产者即服务注入RabbitMQBundle消费者?

我必须修改使用Symfony和RabbitMQ作为排队系统开发的php系统。我不是直接在PHP中使用RabbitMQ绑定,而是在Symfony中使用RabbitMQBundle。

我的问题是我不知道如何发布来自消费者的消息。是的,我知道,使用者被设计为使用消息,而不是发布消息。但是我有一个多步骤工作流,在处理了一些先前的消息之后,我需要发布新消息。

Symfony的“魔力”使我无法发现所有事物的连接方式。我一直在阅读有关服务的信息,但据我所知,“生产者”并未在任何地方声明为服务,在我的情况下,我没有为每个人使用特定的类,而只是将名称绑定到RabbitMq交换。

在我的控制器中,可以很容易地调用这些生产者,我只需要键入类似

$this->get('old_sound_rabbit_mq.my_own_producer')->publish($whatever);
Run Code Online (Sandbox Code Playgroud)

但是在消费者中,我必须显式注入每个依赖项,而且我也不知道如何注入生产者。

我的生产者在rabbitmqbundle设置中的声明是这样的:

my_own:
        connection:       default
        exchange_options: {name: 'my-own-channel', type: direct}
Run Code Online (Sandbox Code Playgroud)

在services.yml文件中我的消费者服务的声明类似于:

my_own_service:
    class: MyOwnBundleBundle\Consumers\MyOwnConsumer
    arguments: ["@logger", "@doctrine_mongodb", "%variable1%", "%variable2%"]
    tags:
        - { name: monolog.logger, channel: my_own_channel }
Run Code Online (Sandbox Code Playgroud)

感谢您的时间。

php rabbitmq symfony

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

C 宏:函数工厂,为什么宏不能只在一种情况下工作?

我写了这两个宏:


// Magic Assert Equal Atomic constructor generator
#define _GENERIC_ASSERT_EQ_ATOMIC_CONSTRUCTOR_(n, N, W, tt) \
assert_data_t *assert_eq_##n##_constructor (tt a, tt b, int passed) {          \
    return assert_data_constructor (_ASSERT_EQ_##N##_, passed, W(a), W(b));    \
}
Run Code Online (Sandbox Code Playgroud)

// Magic Assert Equal Vector constructor generator
#define _GENERIC_ASSERT_EQ_VECTOR_CONSTRUCTOR_(n, N, W, tt) \
assert_data_t *assert_eq_##n##_vector_constructor                              \
  (tt * a, tt * b, int n, int passed) {                                        \
    return assert_data_constructor                                             \
      (_ASSERT_EQ_##N##_VECTOR_, passed, W##Vector(a, n), W##Vector(b, n));    \
}
Run Code Online (Sandbox Code Playgroud)

第一个宏运行良好(在我尝试过的情况下):


_GENERIC_ASSERT_EQ_ATOMIC_CONSTRUCTOR_(int, INT, Int, int)
_GENERIC_ASSERT_EQ_ATOMIC_CONSTRUCTOR_(flt, FLT, Flt, float) …
Run Code Online (Sandbox Code Playgroud)

c macros

2
推荐指数
1
解决办法
1457
查看次数

标签 统计

c ×2

php ×2

c89 ×1

c99 ×1

hazelcast ×1

macros ×1

msgpack ×1

performance ×1

python ×1

rabbitmq ×1

search ×1

spyne ×1

symfony ×1

vert.x ×1

zeromq ×1