我试图调用来自芹菜任务的编译/解释代码。代码不是用Python编写的。
我想知道这个问题是否有比我想的更好的解决办法。
解决方案1。启动另一个进程并执行/解释我感兴趣的代码段。这有创建和扼杀进程的开销。对于一个非常小的任务,这种开销可能太高了。
解决方案2。使用可以从目标语言执行代码的侦听器进程。它可以在本地套接字上侦听函数签名(又名add(2,2) ),执行并返回相同套接字上的结果。侦听器还可以实现类似于进程/线程池的东西,以有效地处理多个任务。
解决方案3 (感谢AndrewS)。构建工作进程(连接到代理)。这意味着将芹菜工人改写成目标语言。就开发工作而言,这是这三个版本中最昂贵的版本。
发布于 2013-08-01 10:16:52
我找到了解决办法。
它也是解决方案2的一个变体,在实际的作业代码中使用对RPC的Thrift。该代码是用目标语言编写的,而The则将其描述给可以同时生成客户端和服务器的Th深层编译器。客户端显然是Python代码,服务器使用的是目标语言。
与其他RPC代码生成器一样,任何类似的选项都可以。
谢谢你所有的答案,我希望有一天这能帮助到别人。
发布于 2013-07-05 13:59:49
您可以使用芹菜HTTP回调任务(Webhooks)
http://docs.celeryproject.org/en/latest/userguide/remote-tasks.html
https://stackoverflow.com/questions/17487923
复制相似问题