在通过Cron调用URL时创建了不需要的文本文件

时间:2015-02-13 10:13:10

标签: ruby-on-rails ruby cron sh

在我们的应用程序中,我们配置了许多用于运行一些例行任务的Cron作业。我们正在开发Ruby on Rails。我将提供我们正在使用的流程。

crontab

*/2 *    * * *   user  sh file_path/test.sh

test.sh

wget https://domain.com/url/key

的routes.rb

post "/url/:key" => "cron_job_controller#action"

cron_job_controller.rb

def action
   if params[:key] && params[:key] == "key"
      ---do some actions----
   end
   respond_to do |format|
      format.html {render :status => Rack::Utils.status_code(:ok), :nothing => true}
   end
end

工作正在执行,所有流程都已成功完成。但在获得响应200后,将生成一个不需要的文本文件,其名称为我们在主文件夹中传递的键值。例如 key,key.1,key.2等.... 。提供下面的控制台结果。

LAP-PS009:~/work$ sh file_path/test.sh 
--2015-02-13 14:58:16--  http://localhost:3000/url/key
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:3000... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `key'

[ <=>                                    ] 1           --.-K/s   in 0s      
2015-02-13 14:58:18 (89.3 KB/s) - `key' saved [1]

因此,我们必须手动监控和删除这些不需要的文件。所以我要求建议永久解决这个问题。等待重播。提前谢谢。

1 个答案:

答案 0 :(得分:2)

您是否只需要选择一个API端点,就可以curl使用相应的CRUD操作POST / PUT / DELETE)。

一旦遇到wget,请执行以下操作:

wget https://domain.com/url/key -o /dev/null -O /dev/null

以上内容会将输出重定向到无处,以防止您的目录被盗用。