草庐IT

Python执行命令行,发送输入和读取输出

全部标签

ruby - Rake 依赖不执行但调用有效

我一直在尝试运行rakedb:test:clone_structure,但它总是无法重建数据库。我终于看到了任务本身:task:clone_structure=>["db:structure:dump","db:test:load_structure"]当我运行跟踪时,我注意到db:test:load_structure没有被执行:$rakedb:test:clone_structure--trace**Invokedb:test:clone_structure(first_time)**Invokedb:structure:dump(first_time)**Invokeenviro

ruby - 执行 ruby​​ 作为 logstash 的管道输入

Logstash允许executingarbitrarycommands作为管道的输入。这是我的示例管道:input{exec{command=>'/usr/bin/ruby-e"putsRUBY_VERSION"'interval=>10}}output{stdout{codec=>rubydebug}}有了这个我得到了以下错误:/opt/logstash/vendor/bundle/jruby/1.9/gems/bundler-1.9.10/lib/bundler/resolver.rb:328:in`blockinverify_gemfile_dependencies_are_f

ruby - 如何在 ruby​​ 模板中输出排序哈希

我正在为我们的一个内联应用构建一个配置文件。它本质上是一个json文件。我在让puppet/ruby1.8每次都以相同的方式输出哈希/json时遇到了很多麻烦。我正在使用但是在输出人类可读的内容时,它并不能保证每次都是相同的顺序。这意味着Puppet会经常针对相同的数据发送更改通知。我也试过每次都会生成相同的数据/订单。当数据具有嵌套数组时就会出现问题。data=>{beanstalkd=>["server1",]}成为"beanstalkd":"server1",代替"beanstalkd":["server1"],我断断续续与这个问题斗争了几天,所以需要一些帮助

ruby-on-rails - 在远程服务器上执行 rake 任务

生产环境的物理架构包括多台机器执行不同的工作(rake任务),所有这些机器都在同一个数据库上。如果其他作业正在运行,其中一个作业会对表执行大型UPDATE,这通常会返回postgres死锁。我已经有一个rake任务来优雅地停止其他作业,但我只能从本地机器上执行它。我想实现的是:task:big_update=>:environmentdostop_tasks_on_another_servers#dotheSQLUPDATE...endstop_tasks_on_another_servers应该在其他服务器上执行rake任务。我最好的尝试是使用https://github.com/c

ruby - 如何从命令行重新格式化 ruby​​ 代码?

给定一个缩进错误、空白管理不正确等源文件。如何将代码重新格式化为文件并应用Ruby的风格指南(如果存在)? 最佳答案 这应该是您的编辑器的任务。在vim(为Ruby配置)中,只需按gg=GxD执行此操作的Ruby脚本位于:http://www.arachnoid.com/ruby/rbeautify.rb.html 关于ruby-如何从命令行重新格式化ruby​​代码?,我们在StackOverflow上找到一个类似的问题: https://stackover

ruby - 如何将字符串 "*.*"作为命令行参数传递给 ruby​​?

代码:#test_argv.rbputs"length:#{ARGV.length}"ARGV.eachdo|a|puts"Argument:#{a}"end如果我在调用上述方法时提供字符串"*.*"(带引号或不带引号),我将得到以下输出:C:\test>test_argv*.*length:5Argument:afile.TXTArgument:bfile.TXTArgument:cfile.TXTArgument:dfile.TXTArgument:somethingelse.TXT即c:\test中的文件列表。其他值,如"s*.*"返回somethingelse.TXT,正如您在

ruby - 使用 ruby​​ 接管控制台输出

当我从控制台运行vim或top时,它们能够接管整个控制台的渲染。当我退出时,我会返回到控制台。是否可以从ruby​​做到这一点?作为一个简单的示例,我将如何执行以下操作#Rakefiletask:clockdoloopdoconsole.renderTime.nowsleep1endend当我运行它时,控制台将被清除,第一行将显示时间。当我退出时,我会像运行rakeclock之前一样继续控制台session。更新检查了tictactoeexample对于ruby​​curses,这里是时钟示例的实现。我在随机行上显示了时钟以演示刷新整个控制台。#!/usr/bin/envrubyreq

ruby - 我如何让 ruby​​ 在线程内输出异常?

当我使用Thread.new{}生成一个线程时,该线程中发生的任何异常似乎永远不会出现,应用程序只是悄悄地忽略它 最佳答案 通常情况下,线程是相互隔离的,因此一个线程中的异常不会终止整个应用程序。但是,虽然我从未使用过它们,但Thread类有几个abort_on_exception方法,甚至还有一些示例。他们应该做你想做的事。http://corelib.rubyonrails.org/classes/Thread.html 关于ruby-我如何让ruby​​在线程内输出异常?,我们在S

ruby-on-rails - 在 Ruby 中读取大文件最快的方法是什么?

我看过这个问题的答案,但我无法确定哪个答案的执行速度最快。这些是我看到的答案-哪个最好?使用each或each_line一次读一行使用gets一次读取一行使用readlines将其全部保存到一个行数组中,然后使用每个行使用grep(不确定究竟用grep做什么......)使用sed(不确定sed到底能做什么...)还有别的吗?此外,是只使用另一种语言更好还是Ruby更好?编辑:更多细节:每一行都包含类似“id1attr1_1attr2_1id2attr1_2attr2_2...idnattr1_nattr2_n”(n非常大)的内容,我需要将它们插入数据库。对于该示例行,我需要将n行插入

ruby - 如何使用 Ruby gem 通过 HTTP 请求发送二进制数据?

我正在尝试找到一种方法来重现在有效负载中发送二进制数据并设置Content-Type:binaryheader的HTTP请求,例如以下带有cURL的命令:echo-e'\x14\x00\x00\x00\x70\x69\x6e\x67\x00\x00'|curl-XPOST\-H'Content-Type:binary'\-H'Accept:*/*'\-H'Accept-Encoding:gzip,deflate,sdch'\-H'Accept-Language:en-US,en;q=0.8,pt;q=0.6'\-H'Cookie:JSESSIONID=m1q1hkaptxcqjuvru