otp

    2热度

    2回答

    我一直在试图弄清楚如何在调用进程B中捕获或救援另一个进程A中的错误,该进程也杀死了进程A. 这里是我的代码: defmodule A do def start_link do GenServer.start_link(__MODULE__, :ok, name: :A) end def fun(fun_loving_person) do GenS

    1热度

    1回答

    我有2个GenServer模块 - A和B. B监视A并执行handle_info以在A崩溃时接收:DOWN消息。 在我的示例代码中,B向A发出同步请求(handle_call)。在处理请求时,A崩溃。 B应该收到:DOWN消息,但它没有。为什么? 当我将handle_call替换为handle_cast时,B收到:DOWN消息。你能告诉我为什么handle_call不起作用,而handle_ca

    1热度

    2回答

    我想创建一个程序在一段时间内运行一个函数。我对Elixir仍然很陌生,不知道从哪里开始。我的想法是,既然我们可以用GenServer来创建一个程序来坐等在消息循环,我可以提供它的消息(也许:kick),当它接收到这个消息时,它会运行的功能。 然而,留下一个问题 - 我怎么踢它不cron作业?我可以启动一个线程并运行一个定时器,并在一段时间内启动它吗?如果主线程死了 - 是否有一个简单的方法来通知并

    3热度

    1回答

    我有一个gen_server过程,注册一个全局命名这样的全局名称: global:register_name(<<"CLIENT_", NAME/binary>>, self()), 另一个进程试图发送此过程中使用gen_server:call这样的消息: exit with reason {noproc,{gen_server,call,[{global,<<"CLIENT_122">>},

    -1热度

    1回答

    我想要问问四位参赛者的残疾人队伍,然后得到总数,如果分数大于32,那么这是非法的,那么它是合法的。所有这些都必须在For循环中使用并使用多个方法。下面列出了代码 。 public class Runner11 { public static void main(String[] p) { int Points; int total = DisabilityClas

    0热度

    1回答

    请告诉我什么是临时配置文件的过程中选择我们的应用程序时,我们创建设备构建

    0热度

    1回答

    我在一个旧的项目中工作。该项目是在Spring MVC中。在项目中,我必须从一个jsp页面生成一个pdf文件并存储在一个位置并下载该文件。为此,我使用wkhtmltopdf工具将一个特定的jsp页面转换为pdf格式。有时使用wkhtmltopdf可以正常工作,它会在特定位置生成pdf,但有时需要更多时间。另外,当我试图从特定位置下载文件时,有时会下载一个0KB大小的文件,或者某些时候下载的文件无法

    0热度

    1回答

    我有2个应用程序使用共享内存段将数据从写入过程传递到读取过程。在共享内存段的顶部,我想声明一个单独的头结构以包含常规段数据,例如缓冲区计数值,读/写偏移量,pthread互斥量/条件变量等。头结构不包含任何指针。然后剩下的段用于在两个进程之间传递的实际数据。 由于共享内存段连接到进程,因此我确信段确实对进程有效/可访问。只需简单地将基本段指针转换为头结构类型的指针,并且对于常规数据类型(例如int

    0热度

    1回答

    我目前正在使用Nadia,fsm和Exactor构建聊天机器人。我试图将每个用户对话建模为一个有限状态机,以便引用每个用户当前所处的每个状态,并使用一个缓存在用户聊天ID与其所使用的fsm的相应pid之间引用。 我根据我的this tutorial 下面的片断设计创造的PID,但每当我试图转换到下一个状态(轮询) defp create(id) do {:ok, pid} = start

    2热度

    2回答

    我正在尝试将Apple的voip推送通知添加到我们的应用中。我们的后端提供程序由Erlang的Ejabberd服务器和apns4erl服务器1.0.4编写。 目前,apns4erl 2有能力发送voip推送通知。但它需要OTP 19+编译,我们的系统在OTP 17.3上运行。 所以我可能知道是否可以同时运行这两个OTP?我无法将OTP升级到19+。新图书馆需要19+。 是否有很好的方法来使这个要求