Jython(WLST)/ Python通讯

我想建立一个jython和python通讯链接.我有一个用于前端的django应用程序和python脚本,并执行系统管理/自动化任务.我将jython用于Weblogic 9/10.我想做的是使它能够给jython系统一个请求.例如带有参数a,b,c的任务A,然后在完成后返回一条消息.

我想这样做是因为wlst或jython的启动速度很慢,并且当我需要进行部署或检查一台或多台服务器的状态时(现在最多100台),这变得很痛苦.那么哪种方法是最简单的将信息共享回主脚本或python类,同时保持jython /(wlst)系统存活并可以轻松共享/发出请求的方法呢?

我一直在做的方式是使用pickle对象.通过获取所有数据,将其分散到文件中,然后将文件加载回python app / script中.

解决方法:

您是否考虑过Celery或其他标准的队列/代理消息传递系统? django-celery已经相当成熟并且开发完善,并且专门为此类任务而设计.

Django -> Celery --> Worker Process (always running)
           ^     |-> Worker Process
           |     `-> Worker Process -,
           \______ Job Complete _____/

基本思想是,您有始终在运行的工作进程(在1台或更多台服务器上)等待消息进入.(这些进程可以是腌制的对象或json或任何您想要的东西).这些进程空闲,等待Celery(这是RabbitMQ后端)向他们发送消息/作业.处理完消息/作业后,通知会通过代理返回,并在django中调用回调,您可以在其中更新状态.

Celery is a task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.

The execution units, called tasks, are executed concurrently on a single or more worker servers. Tasks can execute asynchronously (in the background) or synchronously (wait until ready).

上一篇:Android中的BroadCast静态注册与动态注册


下一篇:PHP创建ECDSA签名并使用Golang进行验证