- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个关于如何设计 erlang 应用程序的存在主义问题:
我通常创建一个应用程序,它启动一个主管和一些工作人员。除了监督树之外,我还有带有功能的模块(废话)。我还有一个 Web API,可以从应用程序模块调用函数。当我停止应用程序 (application:stop(foo).
) 时,网络服务器仍然可以调用 foo
的函数。
我发现无法为 foo
应用程序提供适当的断路器“不符合习惯”。
这是否意味着 foo
中的每个公共(public)函数都应该在其主管下生成一个进程?
谢谢,巴斯蒂安
最佳答案
不一定,有两个原因:
foo
应用程序将具有两种函数:需要运行工作进程的函数和不需要运行的函数(很可能是纯函数)。如果应用程序停止,显然前者在调用时会失败,而后者仍然可以工作。根据 Erlang 的“让它崩溃”的理念,这只是 Web 服务器需要处理(或不处理)的另一个错误情况。如果纯函数仍然有效,则没有理由禁止 Web 服务器调用它们:这意味着系统的大部分功能都可以正常工作。
在 Erlang 节点中,停止应用程序不是您通常会做的事情。 Erlang 应用程序声明依赖项,即需要运行才能正常运行的应用程序。您会注意到,如果您尝试在应用程序的依赖项之前启动应用程序,它将拒绝启动。虽然可以手动停止应用程序,但这意味着节点的状态不再符合应用程序模型的假设。当构建由一组 Erlang 应用程序组成的“版本”时,通常它们都会作为永久应用程序启动,这意味着如果任何一个应用程序崩溃,整个 Erlang 节点都会退出,以免违反了这个假设。
关于Erlang应用程序设计(如何短路),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55950195/
如何有效地设计一个C++模块化程序?如何学习? 最佳答案 对于初学者,您可能希望采取“暴力”过程: 1. 在一个文件中写一个简单的main函数。 2. 增加一些功能,先编译再测试。 3.重构(在谷歌中
前言 有人说现在记事类app这么多,市场这么卷,为什么还想做一个笔记类App? 一来,去年小孩刚出生,需要一个可以记录喂奶时间的app,发现市面上没有一款app能够在两步内简单记录一个时间,可能i
我正处于 Web 应用程序的设计阶段,该应用程序允许用户创建工作请求,并且工作人员可以针对这些请求投入时间。该应用程序还将为主管提供报告功能,以获取每日总计、报告,并说明花费的时间、“成本分配”。 我
前言:很多刚刚接触编程的人都不知道怎么下手编写程序,特别是学习了新的知识点,不知道有什么用,那么本文将以简单的存储结构及简单的运算,条件语句,分支语句,循环语句结合,带来一个双人对战版五子棋,这是一
我正在尝试通过 C++ 多线程解决网络流量问题。 给定一个网络(所有节点都由弧连接,每个弧连接2个且只有2个结束节点,一个是输入节点,另一个是输出节点,每个节点可以有多个输入弧和输出弧),每个节点需要
我有一个关于编程和文件的问题。 while(current!=NULL) { if(current->Id_Doctor!='\0') { current=current->next;
下面的‘C’语句执行什么操作? star = star ^ 0b00100100; (A) 切换变星的第 2 位和第 5 位。 (B) 清除变量星的第 2 位和第 5 位以外的所有位。 (C) 设置除
我写了下面的代码: #include int main() { int a, b; printf("Enter values of a and b\n"); scanf(" %d%d "
我正在将 C 代码编程到 PIC 板上。我的问题是如何让我的程序计算按下按钮(RB0)的时间。然后它会显示所花费的时间并将其显示在液晶显示屏上。以毫秒为单位计算。下面是到目前为止我的代码。 /
我是一名优秀的程序员,十分优秀!