ruby – TCP插槽在Heroku工作人员的进程之间进行通信
我想知道如何在Heroku工人动力学之间进行交流.
我们希望Resque工作人员读取一个队列并将数据发送到在同一个dyno上运行的另一个进程. “其他过程”是通常使用TCP套接字(端口xyz)监听命令的现成软件.它被设置为在Resque工作者启动之前作为后台进程运行. 但是,当我们尝试在本地连接到该TCP套接字时,我们无处可见. 我们的Rake任务设置队列这样做: task "resque:setup" do # First launch our listener process in the background `./some_process_that_listens_on_port_12345 &` # Now get our queue worker ready,set up Redis backing store port = 12345 ENV['QUEUE'] = '*' ENV['PORT'] = port.to_s Resque.redis = ENV['REDISTOGO_URL'] # Start working from the queue WorkerClass.enqueue end 而且这样做 – 我们的侦听进程运行,Resque尝试处理排队的任务.但是,Resque作业失败,因为它们无法连接到localhost:12345(具体来说,Errno :: ECONNREFUSED). 可能的是,Heroku在同一个dyno上阻止TCP套接字通信.有没有解决的办法? 我试图把“代码”从这个情况中拿走,只是在命令行执行(在服务器进程声称它正确绑定到12345之后): nc localhost 12345 -w 1 </dev/null 但是这也不会连接. 我们正在调查更改客户端/服务器代码以使用双方的UNIXSocket而不是TCPSocket,但是由于它是一个现成的软件,所以我们宁可避免使用自己的fork. 解决方法
你有没有尝试过Fifo?
http://www.gnu.org/software/libc/manual/html_node/FIFO-Special-Files.html#FIFO-Special-Files (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- oracle11.2.0.4在centos6.5下安装提示prvf-0002
- 替换XML元素的值? sed正则表达式?
- 将XML数据批量插入SQL Server 2005数据库的最佳方
- 23.Oracle杂记——Oracle常用动态视图v$log
- \res\values\styles.xml:7: error:
- 正则表达式疯狂:java.util.regex.Pattern match
- 概述C++中的 public protected private friend关
- VB操作INI文件读写示例
- cocos2d-x中的事件分发机制
- postgresql – 如何使array_agg()像mySQL中的gro