Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在延迟作业/RubyonRails中创建/更改文件?_Ruby On Rails_Ruby_Linux_Delayed Job - Fatal编程技术网

Ruby on rails 如何在延迟作业/RubyonRails中创建/更改文件?

Ruby on rails 如何在延迟作业/RubyonRails中创建/更改文件?,ruby-on-rails,ruby,linux,delayed-job,Ruby On Rails,Ruby,Linux,Delayed Job,我需要一个延迟的作业来生成特定目录中的一组文件。不幸的是,这个目录可能不存在,所以我需要先创建它,但问题是web服务器没有访问父目录的权限来创建它 我知道我可以创建一个单独的脚本,使用管理员权限运行该脚本来生成目录,但是将该逻辑从我实际生成文件的工作中移出似乎很愚蠢 另一种选择是,我可以在/tmp或其他地方生成文件,并让脚本将目录/文件移动到适当的位置,但tmp似乎不是一个非常安全的地方 这个问题有没有“标准”的解决方案?在搜索谷歌时,我真的找不到任何东西 不要使用管理员权限运行脚本。只需在运行

我需要一个延迟的作业来生成特定目录中的一组文件。不幸的是,这个目录可能不存在,所以我需要先创建它,但问题是web服务器没有访问父目录的权限来创建它

我知道我可以创建一个单独的脚本,使用管理员权限运行该脚本来生成目录,但是将该逻辑从我实际生成文件的工作中移出似乎很愚蠢

另一种选择是,我可以在
/tmp
或其他地方生成文件,并让脚本将目录/文件移动到适当的位置,但tmp似乎不是一个非常安全的地方


这个问题有没有“标准”的解决方案?在搜索谷歌时,我真的找不到任何东西

不要使用管理员权限运行脚本。只需在运行脚本之前创建一个目录,并向运行脚本的用户授予写权限。我认为这更像是一个管理问题,而不是一个延迟的_job one=)您可以像tmp一样放入dir,但它是持久的,可以被延迟的_job访问,并且有第二个脚本,它有更多的权限获取文件并将它们放在适当的位置