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).
标签:weblogic,wlst,jython,python,django 来源: https://codeday.me/bug/20191102/1989842.html