草庐IT

erlang-supervisor

全部标签

erlang - 如何让 Webmachine 和 eredis 一起工作?

在我的Webmachine应用程序中,我一直在思考Redis的使用问题一个星期。我还没有开悟。我将使用Eredis,这是一个使用示例:{ok,Con}=eredis:start_link().{ok,>}=eredis:q(Con,["SET","foo","bar"]).{ok,>}=eredis:q(Con,["GET","foo"]).据我所知,eredis:start_link()应该只在某处调用一次。但是我怎样才能在我的资源中获取Con变量呢? 最佳答案 有几种解决方法:在本地或全局注册一个redis连接使用像gproc这

python - Supervisor 保持 huey python 运行

我正试图让主管监控和维护一个使用Huey(redis类型队列)的python脚本。我的Supervisor程序配置如下所示:[program:smsbot_handler]directory=/home/ubuntu/virt_env/virt1/app/command=/home/ubuntu/virt_env/virt1/bin/huey_consumer.pymain.huey--threads=3stdout_logfile=/home/ubuntu/smsbot_handler_log.txtautostart=trueautorestart=trueenvironment=

docker - docker中Supervisor的使用

我不是在询问是否在docker中使用主管,而只是想验证我的理解。我了解docker在运行时会运行一个进程。另外,当我们需要在容器内运行多个进程时,使用supervisor。我见过几个例子,其中一个容器是从基础镜像启动的,并且安装了几个服务,并且容器promise形成一个新的镜像,所有这些都没有主管。所以,我的基本疑问是这两种方法有什么区别。我的理解是,当docker容器停止时,它会向PID1的进程发送终止信号,PID1管理子进程并停止所有子进程,这正是主管所做的,而我们可以安装多个进程而无需发出dockerrun时,supervisor只能运行一个进程,当容器停止时,只会发送PID1信

docker - docker中Supervisor的使用

我不是在询问是否在docker中使用主管,而只是想验证我的理解。我了解docker在运行时会运行一个进程。另外,当我们需要在容器内运行多个进程时,使用supervisor。我见过几个例子,其中一个容器是从基础镜像启动的,并且安装了几个服务,并且容器promise形成一个新的镜像,所有这些都没有主管。所以,我的基本疑问是这两种方法有什么区别。我的理解是,当docker容器停止时,它会向PID1的进程发送终止信号,PID1管理子进程并停止所有子进程,这正是主管所做的,而我们可以安装多个进程而无需发出dockerrun时,supervisor只能运行一个进程,当容器停止时,只会发送PID1信

docker - Docker 上的 Erlang/Elixir 和热代码交换

Erlang(根据定义,也就是Elixir)的特性之一是您可以进行代码热交换。但是,这似乎与Docker不一致,您需要停止实例并使用包含新代码的新镜像重新启动新实例。这基本上似乎是每个人都在做的事情。话虽如此,我也知道可以使用一个隐藏节点通过网络将更新分发给所有其他节点。当然,这样听起来像是自找麻烦,但是……我的问题如下:有没有人尝试过为Erlang/Elixir建立一个允许热代码交换的基于Docker的基础架构并取得了相当大的成功?如果是,有哪些注意事项、注意事项和注意事项? 最佳答案 故事想象一个系统来处理手机通话或移动数据访问

docker - Docker 上的 Erlang/Elixir 和热代码交换

Erlang(根据定义,也就是Elixir)的特性之一是您可以进行代码热交换。但是,这似乎与Docker不一致,您需要停止实例并使用包含新代码的新镜像重新启动新实例。这基本上似乎是每个人都在做的事情。话虽如此,我也知道可以使用一个隐藏节点通过网络将更新分发给所有其他节点。当然,这样听起来像是自找麻烦,但是……我的问题如下:有没有人尝试过为Erlang/Elixir建立一个允许热代码交换的基于Docker的基础架构并取得了相当大的成功?如果是,有哪些注意事项、注意事项和注意事项? 最佳答案 故事想象一个系统来处理手机通话或移动数据访问

go - Erlang/Golang 端口示例中的缓冲区大小

我有一个粗略的Erlang到Golang端口示例,将数据从Erlang传递到Golang并回显响应。问题是我可以传输的数据量似乎限制为2^8字节(见下文)。我认为问题可能出在Golang方面(没有创建足够大的缓冲区)但是用bufio.NewReaderSize替换bufio.NewReader没有用。所以我现在认为问题可能出在Erlang方面。我需要做什么来增加缓冲区大小/能够回显大于2^8字节的消息?TIAjustin@justin-ThinkPad-X240:~/work/erlang_golang_port$erl-paebinErlang/OTP17[erts-6.4.1][s

.NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx)

在.NETCore部署到linux(CentOS)最全解决方案,常规篇一文,我们详细讲解了传统的.NETCore部署到Linux服务器的方法,学到了Linux在虚拟机下的安装、Xshell,Xftp的使用方法、git在linux下的交互使用以及.netcore在linux下的发布与运行全过程。本文讲讲解通过使用Supervisor+Nginx的组合来实现.netcore的高效部署。1、Supervisor1.1、Supervisor介绍官网:http://supervisord.org,源码位置:https://github.com/Supervisor/supervisorSuperviso

linux - 为什么linux(ARM)在异常处理的时候总是切换到supervisor模式?

在异常处理过程中,Linux总是切换到管理员模式。这是什么原因?为什么它不能在异常模式下继续执行呢? 最佳答案 当ARM上发生异常时,处理器会切换到中止状态。在此状态下,处理器无法处理任何中断。这意味着屏幕和网络更新不会发生,也不会有任何抢占。因此,永远不要在中止状态下执行长时间运行的操作。可能发生的事情(我不是linux内核专家)是异常被记录并仅放置在一个队列中,异常处理程序立即返回。内核现在可以重新启用中断并处理所有高优先级任务。然后,它会以不中断其他任务的方式在闲暇时处理异常。我没有读过thisarticle但它似乎确实包含您

python - Supervisor 中的多个命令 - Python/Linux

我正在使用神奇的工具supervisord我很高兴运行一些应用程序,如下所示编辑配置文件:[program:DjangoDevServer]command=python/path/to/project/manage.pyrunserver127.0.0.1:8000[program:MongoDB]command=sudo/path/to/mongod现在的问题是一些应用在启动前需要一些命令来为启动做准备。例如验证条件、清理文件夹等...有什么想法吗? 最佳答案 不要调用manage.py,而是编写一个脚本(比如调用start_ma