ruby-on-rails - 谷歌云上的 Rails Cron
问题描述
我想通过 cron 在我的网站上发出一个简单的 URL 请求。
对于这个测试,我做了一个路由'/cron_test_method'。因此,当我继续访问 URL“ https://webside.com/cron_test_method ”时,我的方法正在运行并正常工作!
现在,我想使用 App Engine Cron 服务(谷歌云平台)自动完成。为此,我遵循了Google的官方文档。它看起来很简单,但对我来说失败了。我成功地将 Cron 文件推送到网上并通过 Cron App Engine 仪表板运行它。但是据说失败了。
我的代码:
配置/路由.rb
Rails.application.routes.draw do
get '/cron_test_method' => 'tests#cron_method'
end
应用程序/控制器/tests_controller.rb
class TestsController < ApplicationController
def cron_method
User.first.update(cron_at: Time.now)
redirect_to root_path
end
end
cron.yaml
cron:
- description: "my cron test"
url: /cron_test_method
schedule: every 24 hours
PS:我以前从未在开发中提出过 cron 请求。我很少看到像“whenever” gem 或 rake:tasks 这样的技术。所以我不确定我们是否可以像我在下面实现的那样提出请求。这不是很安全。因此,如果您有更好的方法来实现它,欢迎您!
解决方案
推荐阅读
- python - 异常触发:“NoneType”对象没有属性“app”
- node.js - Appium - 收到错误未定义:未定义参考元素
- python - 引发 TesseractError(proc.returncode, get_errors(error_string))
- reactjs - 将 react.js 中已渲染元素的 innerHTML 设置为组件
- c# - Entity Framework 6,Update-Database -verbose 命令没有构建正确的文件路径来保存我的 mdf 文件
- android - 在从相机拍摄的图像上添加文字并想在上面画线
- ios - 在ios后台拨打电话
- javascript - 如何使 ajax 请求在页面加载时起作用
- javascript - JQuery DataTable:如何隐藏多个变量列
- azure - 未为成员 Microsoft.Azure.Services.AppAuthentication.AzureServiceTokenProvider 解析类型