如何通过jruby代码停止curl命令执行?

时间:2012-11-26 05:47:25

标签: curl jruby jrubyonrails

我在我的模型方法中有以下代码,我从我的控制器调用。

Kernel.system"curl -H "Content-Type:application/json" -d "{\"party\":{\"lock_version\":\"0\",\"party_type\":\"Customer\",\"name\":\"xxxxx\",\"sub_type\":\"\",\"description\":\"\",\"contacts_attributes\":{\"1\":{\"name\":\"Jy\",\"email\":\"xxxx@gmail.com\",\"is_default\":\"true\",\"_destroy\":\"0\"}}}}" "http://localhost:3000/company/customers?auth_token=BhD7P6sXkHkNwVVXx3TF""

当上面的代码执行时,在控制台上我可以看到。

% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 202 0 0 0 202 0 0 --:--:-- 0:04:13 --:--:-- 0

但是上面的过程一直在继续。当我使用CTRL+c关闭我的服务器时,我可以在我的控制台上看到以下几行。

Started POST "/company/customers?auth_token=BhD7P6sXkHkNwVVXx3TF" for 127.0.0.1 at Mon Nov 26 05:24:13 +0000 2012 Processing by PartiesController#create as JSON Parameters: {"party"=>{"lock_version"=>"0", "party_type"=>"Customer", "name"=>"xxxxx", "sub_type"=>"", "description"=>"", "contacts_attributes"=>{"1"=>{"name"=>"Jy", "email"=>"xxxx@gmail.com", "is_default"=>"true", "_destroy"=>"0"}}}, "auth_token"=>"BhD7P6sXkHkNwVVXx3TF", "party_type"=>"Customer"} WARNING: Can't verify CSRF token authenticity

这表示我的customer已成功使用curl

但为什么我需要关闭我的服务器然后重新启动以查看curl命令的结果?是否有解决此问题的方法或我做错了什么?

请帮助我,

感谢。

1 个答案:

答案 0 :(得分:0)

我已经回答了我的问题。 我只需要使用-m命令来限制命令的执行时间。

喜欢

Kernel.system"curl -m 3 -H "Content-Type:application/json" -d "{\"party\":{\"lock_version\":\"0\",\"party_type\":\"Customer\",\"name\":\"xxxxx\",\"sub_type\":\"\",\"description\":\"\",\"contacts_attributes\":{\"1\":{\"name\":\"Jy\",\"email\":\"xxxx@gmail.com\",\"is_default\":\"true\",\"_destroy\":\"0\"}}}}" "http://localhost:3000/company/customers?auth_token=BhD7P6sXkHkNwVVXx3TF""

哪个会运行3秒...所以现在我不需要关闭我的服务器。: - )