文档章节

开发demo:如何调用scheduler异步执行

yymore
 yymore
发布于 2017/06/04 20:34
字数 200
阅读 2
收藏 0
  • RPC-API 的存在是为了快速的响应进程服务之间的调用请求。
  • PRC 调用的过程为:
graph LR
  A(api.py)-->B(rpcapi.py)    
  B(rpcapi.py)-->C(manager.py) 
  1. cinder\cinder\scheduler\rpcapi.py
class SchedulerAPI(rpc.RPCAPI):

    """省略代码"""

    def say_hello(self, ctxt):
        version = '3.0'
        cctxt = self.client.prepare(version=version)
        # cast 异步调用, call 同步调用
        # 通过cast方式的远程调用,请求发送后就直接返回了;通过call方式远程调用,需要等响应从服务器返回。
        cctxt.cast(ctxt, 'say_hello')

  1. cinder\cinder\scheduler\manager.py
class _SchedulerV3Proxy(object):
    
    """省略代码"""
    
    def say_hello(self, context):
        """Demo function. test say hello."""
        LOG.debug('===========manager say_hello==============hello,wangyue========================')
        #通知ceilmeter
        rpc.get_notifier("volume", CONF.host).info(context, '======scheduler say hello to you, wangyue======', None)

  1. 调用rpcapi
from cinder.scheduler import rpcapi

"""省略代码"""

    def say_hello(self, req):
        LOG.debug('=============say hello begin===================')
        context = req.environ['cinder.context']
        authorize(context, 'storages')
        rpc = rpcapi.SchedulerAPI()
        rpc.say_hello(context)
        return webob.Response(status_int=202)

© 著作权归作者所有

共有 人打赏支持
yymore
粉丝 0
博文 1
码字总数 200
作品 0
福州
私信 提问
spring中的异步事件

spring中的异步事件 这里讲解一下Spring对异步事件机制的支持,实现方式有两种: 1、全局异步 即只要是触发事件都是以异步执行,具体配置(spring-config-register.xml)如下: Java代码 1....

LYQ1990
2016/09/07
15
0
在Andoid中如何使用RxJava 2进行多线程编程?

本文最初发布于GO-JEK的博客站点,经原作者授权由InfoQ中文站翻译并分享。 如果你还没有接触RxJava或者刚刚开始使用它的话,那么你会发现始终会有很多新东西要学习。我们在GO-JEK的App中需要...

Aritra Roy
2017/12/28
0
0
在Andoid中如何使用RxJava 2进行多线程编程?

本文最初发布于GO-JEK的博客站点,经原作者授权由InfoQ中文站翻译并分享。 如果你还没有接触RxJava或者刚刚开始使用它的话,那么你会发现始终会有很多新东西要学习。我们在GO-JEK的App中需要...

Aritra Roy
2017/12/28
0
0
OpenStack 通用设计思路 - 每天5分钟玩转 OpenStack(25)

API 前端服务 每个 OpenStack 组件可能包含若干子服务,其中必定有一个 API 服务负责接收客户请求。 以 Nova 为例,nova-api 作为 Nova 组件对外的唯一窗口,向客户暴露 Nova 能够提供的功能...

CloudMAN
2016/04/25
388
1
如何正确使用Espresso来测试你的Android程序

UI测试在Android平台上一直都是一个令人头痛的事情, 由于大家平时用的很少, 加之很多文档的缺失, 如果很多东西从头摸索,势必踩坑无数. 自Android24正式淘汰掉了InstrumentationTestCase(位于...

圣骑士wind
2018/09/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
2
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部