在 Rails 中使用命名管道
我需要通过命名管道读取和写入一些数据。
我已经在一个简单的 Ruby 应用程序中对其进行了测试,效果很好。
但我不知道,我应该把它放在 Rails 应用程序的哪里?我听说过 Rake 任务,但我不确定这是否是正确的解决方案。
我需要打开一个管道文件,并监听数据。如果有的话,我需要处理它并进行数据库查询。然后,将一些数据写入另一个管道。我知道它是如何工作的,但唯一的问题是如何用 Rails 运行它?请给我一些例子。
I need to read and write some data through named pipes.
I have tested it in a simple Ruby app, and it works nice.
But I dont know, where should i put it in my Rails app? I have heard about Rake tasks, but i don't sure, is it right solution.
I need to open a pipe-file, and listen to data. If there is any, i need to process it and make a DB-query. Then, write some data to another pipe. I know, how it works, but the only problem - how to run it with Rails? Give me some examples, please.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
听起来您有一个网站,该网站将具有通过管道流式传输的后端数据源。听起来这也不会成为 HTTP 请求/响应周期的一部分,这可能使 rake 任务成为一个不错的选择。
在 lib/tasks 中创建一个名为 Listener.rake 的文件,
它应该如下所示:
然后,从项目根目录中的命令行,您可以像这样调用它:
对于不同的环境,执行以下操作:
此任务将具有访问您的所有模型。要结束它,请按 Ctrl+C
请记住,您需要停止并停止它。重新启动进程以加载对模型所做的任何更改。
It sounds like you have a website that will have a backend source of data that you are streaming through a pipe. It also sounds like this is not going to be part of the HTTP Request/Response cycle, which could make a rake task a good choice.
Make a file in lib/tasks called listener.rake
it should look like this:
Then, from the command line in the root dir of your project you can invoke it like this:
and for a different environment, do this:
This task will have access to all your models. To end it, hit Ctrl+C
Keep in mind you will need to stop & restart the process to load any changes made to models.