首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/candou/blog/4700562

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

Linkis架构解析系列---Job执行流程源码解析

Linlis 0.X版本架构解析系列 --Job执行流程架构源码解析 作业执行服务在Linkis 中承担了计算的作用,Job作为作业执行服务中的最小单元,为Job定义了通用的接口和执行优化,来提升Job的通用性和能力。从Job封装到运行,涉及到Linkis中的多个服务,本文将介绍linkis 0.X版本中的Job从提交到执行的整个过程。 1.Job执行在Linkis处在什么位置 Job执行在Linkis的架构中处于统一作业执行服务(Unified Job Execution Services)中,如下图所示: 从图中可以看到UJES在Linkis中占据核心部分,一个Job从封装、运行、结果推送的执行流程从前端入口,到底层计算引擎,涉及到统一作业服务、资源管理服务、统一存储服务、统一上下文服务涉及到Linkis的多个服务。 2.Job处理流程 Linkis UJES(Unified Job Execution Services) 作为Job的执行服务,对外提供了REST/WebSocket的通用接口,用于接收上层系统提交的各种访问请求,并提供给底层计算存储引擎执行。支持Job的高并发、高...

协程 shell_exec 如何捕获标准错误流

今天在GitHub主页看到外国友人提了一个很有意思的issue,他在使用Co\System::exec()执行了一个不存在的命令时,错误信息会直接打印到屏幕,而不是返回错误信息。 实际上Swoole提供的System::exec()行为上与PHP的shell_exec是完全一致的,我们写一个shell_exec的同步阻塞版本,执行后发现同样拿不到标准错误流输出的内容,会被直接打印到屏幕。 <?php $result = shell_exec('unknown'); var_dump($result); htf@htf-ThinkPad-T470p:~/workspace/debug$ php s.php sh: 1: unknown: not found NULL htf@htf-ThinkPad-T470p:~/workspace/debug$ 那么如何解决这个问题呢?答案就是使用proc_open+hook实现。 实例代码 Swoole\Runtime::setHookFlags(SWOOLE_HOOK_ALL); Swoole\Coroutine\r...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。