我正在尝试将我的Rails应用程序推送到Heroku,而我正在尝试创建/迁移数据库,但我无法运行rake命令.这是我得到的信息:
$ heroku run rake db:migrate
Running `rake db:migrate` attached to terminal... up, run.2439
bash: rake: command not found
Run Code Online (Sandbox Code Playgroud)
我花了很多时间在我的本地机器上设置Postgres,它工作正常(能够运行rake命令没有问题,应用程序在本地运行),但我不知道为什么我收到此错误当我尝试迁移heroku数据库时.
我正在尝试检查用户是否已登录,但我得到的结果确实不一致,似乎涉及某种竞争条件.我基本上拿了谷歌开发者网站的代码:
gapi.load('auth2', function() {
auth2 = gapi.auth2.init({
client_id: 'my_client_id.apps.googleusercontent.com',
});
console.log(auth2.isSignedIn.get());
setTimeout(function(){console.log(auth2.isSignedIn.get())},50);
setTimeout(function(){console.log(auth2.isSignedIn.get())},500);
setTimeout(function(){console.log(auth2.isSignedIn.get())},1000);
});
Run Code Online (Sandbox Code Playgroud)
出于某种原因,前两个返回false,第二个返回true.我已经双重检查,我已登录,所以看起来前两个应该返回true.我想念她的是什么?我看过文档,似乎没有任何东西表明发生了异步,我不确定在从isSignedIn调用中获得可靠结果之前我应该等待什么.
我正在尝试编写一个Ruby脚本,将文件上传到AWS并使该文件公开可用.我做了以下事情:
s3 = Aws::S3::Resource.new(
credentials: Aws::Credentials.new(KEY, SECRET),
region:'us-west-2'
)
obj = s3.bucket('stg-db').object('key')
obj.upload_file(filename)
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,除了该文件不公开,我无法获得它的公共URL.但是当我登录S3时,我可以看到我的文件很好.
为了使其公开,我将最后一行更改为
obj.upload_file(filename, acl: 'public-read')
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,我收到了拒绝访问的错误.我的S3存储桶上是否存在一些导致问题的权限设置,或者我是否以某种方式错误地调用了这个?
有谁知道在Elastic Beanstalk环境中为Rails应用程序运行rake任务的最简单方法吗?
我有一些数据需要每隔一段时间重设一次(时间轴待定)。我看过其他有关创建cron任务的文章,但我现在只想一次性执行任务。
rake amazon-web-services ruby-on-rails-4 amazon-elastic-beanstalk