首页 > 解决方案 > 谷歌云上的 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 这样的技术。所以我不确定我们是否可以像我在下面实现的那样提出请求。这不是很安全。因此,如果您有更好的方法来实现它,欢迎您!

标签: ruby-on-railsgoogle-app-enginegoogle-cloud-platformcron

解决方案


推荐阅读