如何在 Rails 项目中运行日常任务/脚本?

2023-11-22

我正在为我的应用程序开发计费系统,但我不确定如何设置每天运行的脚本,一个用于发送付款提醒(电子邮件),另一个用于降级尚未续订的订阅。

  • 有关如何执行此操作的任何提示?
  • 有什么我需要注意的问题吗?
  • 有什么宝石我可以使用吗?

我已经完成了大部分采购工作,所以我不寻找像 paypal_recurring 或 stripe 这样的宝石 - 只需处理付款提醒和已过期帐户的交易。


我已经通过多种方式做到了这一点,并且有很多方法可以做到这一点。我认为当前的最佳实践是使用Resque对作业进行排队并救援调度程序来安排他们。

Resque 是一款可靠的“作业调度”应用程序,可以为您处理各种任务。 Resque Scheduler 可以输入完整的 cron 表达式(以及其他调度任务的方法)来管理作业。

这种方法的优点之一是您可以获得雷斯克网应用程序,为您提供一个 Web 应用程序,用于监视作业(或启动它们以进行一次性作业运行)。

我已经在 Heroku 中使用了这种方法,它运行良好且可靠。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Rails 项目中运行日常任务/脚本? 的相关文章

  • 从 Rails 3.1.3 升级到 Rails 3.2.1。资产错误

    我尝试将应用程序从 Rails 3 1 3 升级到 Rails 3 2 1 但资产出现问题 我有这样的错误 ActionController RoutingError No route matches GET assets logos op
  • 有没有办法避免自动更新 Rails 时间戳字段?

    如果您有数据库列created at and updated at当您创建和更新模型对象时 Rails 将自动设置这些值 有没有办法在不接触这些列的情况下保存模型 我正在引入一些旧数据 我想根据 不同名称的 旧数据字段中的相应值设置这些值
  • 未知属性:user_id

    我在执行 current user stories build 期间收到错误未知属性 user id class User lt ActiveRecord Base has many stories class name Story for
  • 保护 REST 和 JSON

    我想利用 RESTful 架构构建提供 JSON 数据的 Web 服务 但我只想要我自己的客户端应用程序可以从我的网络服务请求 基本上 我的 Web 服务包含不供公众使用的敏感数据 但我想以这种方式构建它 以便我可以构建连接到我的 Web
  • Rails 3 分页,will_paginate 与 Kaminari

    我的设置 Rails 3 0 9 Ruby 1 9 2 我正在为我的应用程序寻找分页解决方案 发现有一个新的宝石Kaminari与值得信赖的人相比will paginate 看起来像will paginate有一段时间没有更新了 但后来又以
  • Devise:允许用户注册为“UsErNaMe”但使用“用户名”登录

    与大多数网站的工作方式相同 我将 UsErNaMe 存储在数据库中 但让用户使用 用户名 登录 这是一个相当明显且必要的功能 很多人似乎都问过它 但我不断遇到的解决方案似乎与 Devise 自己的文档脱节 例如 考虑这篇博文 http an
  • ubuntu 12.04 ruby​​ 2.0 Rails:找不到“thread_safe”

    我正在 ubuntu 12 04 上安装 Rails 使用以下方法手动安装 如何在 Ubuntu 12 04 上正确安装 ruby 2 0 0 https stackoverflow com questions 16222738 how t
  • 为 Rails 上的 postgresql 创建用户

    我选择 postgresql 作为我的 Rails 数据库 但当我尝试运行 rake db create all 时 我遇到了一个明显常见的错误 即 致命 角色 app 不存在 我找到了两种解决方案 但我不确定哪一种是正确的 有一个网站说
  • 如何使用国家宝石

    我正在尝试使用国家宝石 https github com hexorx countries 但是在我捆绑安装这个 gem 后 有一些关于如何合并它的基本问题 我是否需要创建新的控制器 模型才能访问这些国家 地区 如何创建一个简单的选择下拉列
  • rake db:migrate db:reset 和 db:schema:load 之间的区别

    和 之间的不同rake db migrate and rake db reset我很清楚 我不明白的是如何rake db schema load与前两者不同 只是为了确保我在同一页面上 rake db migrate 运行尚未运行的迁移 r
  • 如何检查字符串是否为有效日期

    我有一个字符串 31 02 2010 并想检查它是否是有效日期 最好的方法是什么 我需要一个方法 如果字符串是有效日期 则返回 true 如果不是 则返回 false require date begin Date parse 31 02
  • 子域中的 Rails url 助手 - 删除子域

    我网站上的用户可以拥有子域 例如 他们的页面网址是 name example com 登录的用户可以查看更多用户信息 因此在用户的显示页面上 我有一个使用以下代码生成的链接 user url user subdomain gt false
  • 查找 Rails 应用程序中未使用的代码

    如何查找正在运行和未运行的代码生产中 该应用程序经过充分测试 但还有很多测试unused代码 因此 他们在运行测试时得到覆盖 我想重构并清理这个烂摊子 它一直在浪费我的时间 我有很多后台工作 这就是为什么我希望生产环境来指导我 在 Hero
  • Rails 3.2 防止使用错误保存对象

    我有一个 ActiveRecord 对象 我想阻止它被保存 而不对模型进行永久验证 你曾经可以使用做这样的事情errors add但它看起来不再有效了 user User last user errors add name name doe
  • 认为 Sphinx 没有为新添加的记录建立索引

    我正在使用 sphinx 搜索 2 个模型及其关联 我正在使用增量索引 在我的开发盒上 在开发模式 Ubuntu 下一切正常 但是 在暂存盒生产环境中 当我创建新记录时 我需要再次构建索引以使新创建的记录可搜索 甚至奇怪的是 当我使用脚本
  • 使用 Carrierwave 上传到 S3 时获取 mp3 持续时间

    我正在编写一个应用程序 它基本上是一个音乐平台 我想通过其元数据获取 mp3 的持续时间 并将其保存在表中 然后再将其上传到 S3 我使用载波和雾宝石的组合来上传 提取 mp3 元数据以保存到数据库的推荐方法是什么 有一个用于此类操作的 g
  • Rails 基本 Base64 身份验证

    我正在尝试复制此 GET curl 请求 curl D X GET H Authorization Basic dGVzdEB0YXByZXNlYXJjaC5jb206NGMzMTg2Mjg4YWUyM2ZkOTY2MWNiNWRmY2Nl
  • 如何调试速度慢得难以忍受的 Rails 资源预编译

    我正在开发一个 Rails 3 2 项目 尽管我不认为该项目很大 但近几个月来资产已经增加了相当多 资产由 JS 无咖啡脚本 和 SASS 文件组成 我们有很多图像 但从早期开始 它们出现的次数就更少了 所以我认为它们不是一个重要因素 我们
  • Docker-compose 和 Rails 控制台问题。 “在任何来源中都找不到 rake-13.0.6”

    尝试在 docker 下运行 Rails 控制台时遇到一些问题 所有其他 Rails 命令都按预期工作 但控制台却不然 octopus git master docker compose run web bundle exec rails
  • 如何使用 ROR 设置控制器页面内的文本区域属性[重复]

    这个问题在这里已经有答案了 任何人都可以解决我的小问题吗 实际上我想在页面加载并检查某些条件后设置文本区域启用 让我来解释一下我的故事实际上是我想要的 Story 我有一个博客页面 当用户登录并进入博客页面时 应该启用文本区域来发表评论 如

随机推荐

  • 对 CUDA 内核中不同部分进行计时

    我有一个 CUDA 内核 可以调用一系列设备函数 获取每个设备功能的执行时间的最佳方法是什么 获取设备函数之一中一段代码的执行时间的最佳方法是什么 在我自己的代码中 我使用clock 函数以获得精确的计时 为了方便起见 我有宏 enum t
  • 从推送通知启动时,launchOptions 始终为零

    我正在从 Django 应用程序发送推送通知 使用django 推送通知 到 iOS 应用程序 该应用程序面向 iOS 13 我在运行 iOS 13 3 1 的 iPhone 7 上运行它 我正在 Xcode 11 3 1 中调试 我正在尝
  • Numpy 的特征值/向量不正确

    我试图找到以下矩阵的特征值 向量 A np array 1 0 0 0 1 0 1 1 0 使用代码 from numpy import linalg as LA e vals e vecs LA eig A 我得到这个作为答案 print
  • 正确使用SQL Server中的事务

    我有 2 个命令 需要两个命令都正确执行 否则都不执行 所以我认为我需要一个交易 但我不知道如何正确使用它 下面的脚本有什么问题 BEGIN TRANSACTION Tran1 INSERT INTO Test dbo T1 Title A
  • 如何在 GitHub 上搜索提交消息?

    Not 在 Git 存储库中 而是在GitHub具体来说 如何仅搜索特定存储库 分支的提交消息 您过去可以执行此操作 但 GitHub 在 2013 年中期的某个时候删除了此功能 要在本地实现此目的 您可以执行以下操作 git log g
  • 实现多个通用接口 - 类型错误

    我正在尝试做这样的事情 public interface IRepository
  • Jquery过滤列表不区分大小写

    我想过滤列表而不区分大小写 我只想匹配不匹配大写或小写的字符 XXXXXXX yyyyyyy XXxxx 如果我在搜索框中输入 X 它会同时显示 1 和 3 我添加了下面的代码 但它也区分大小写
  • bash 计算文件中单词的出现次数

    我很抱歉问了这个非常菜鸟的问题 但我还是个新手bash编程 几天前开始 基本上我想要做的是将一个文件与另一个文件中出现的所有单词一起保存 我知道我可以这样做 sort uniq c sort 问题是 之后我想获取第二个文件 再次计算出现次数
  • 使用 std::launder 从指向非活动对象的指针获取指向活动对象成员的指针?

    This question followes this one 让我们考虑一下这个示例代码 struct sso union struct char ptr char size r 8 large str char short str 16
  • R 中按最后一个空格分割字符串

    我有一个向量 其中有多个空格的字符串 我想将其分成两个向量 并按最后的空格分开 例如 vec lt c This is one And another And one more again 应该成为 vec1 c This is And A
  • 类型带反射的文字注入

    上下文 java使用guice 最后版本 大家好 是否可以通过这种方式用 Guice 注入一些 TypeLiteral public MyClass a Class
  • 在 WebApi 和 MVC 项目之间共享 SignalR 中心

    是否有推荐的方法在两个应用程序之间共享 SignalR 集线器 实际情况是一个面向公众的WebAPI项目和一个内部MVC WebApp 我想要做的是从 WebAPI 项目调用 SignalR 集线器上的方法 并将这些方法的结果推送到通过 M
  • 删除数据框中的所有左侧 NA 并向左移动已清理的行

    我有以下数据框dat 它在某些行的开头呈现特定于行的 NA 数量 dat lt as data frame rbind c NA NA 1 3 5 NA NA NA c NA 1 3 6 8 NA c 1 7 NA dat V1 V2 V3
  • Google 在抓取我们的网站时是否会忽略哈希片段 (#) 后面的内容?

    我们使用哈希片段后面的信息通过 JavaScript 显示不同的页面 以免强制浏览器再次加载整个页面 例如 页面的直接链接可能如下所示 book id page id www example com book 1234 5678 由于我们没
  • 常量对象的常量数组

    如何在 C 而不是 C 中定义常量对象的常量数组 我可以定义 int const Array init data here 但这是常量对象的非常量数组 我可以用 int const const Array init data here 这可
  • 使用 Razor 进行 POST 时 Model.List 为 null

    My view foreach var item in Model List Html HiddenFor model gt item UserId Html HiddenFor model gt item Name Html Hidden
  • 如何在 JavaScript 中将 Object {} 转换为键值对的 Array []

    我想像这样转换一个对象 1 5 2 7 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 成一个键值对数组 如下所示 1 5 2 7 3 0 4 0 如何在 JavaScript 中将对象转换为键值对数组
  • 函数矩阵、SymPy 和 SciPy 上的数值积分

    从我的 SymPy 输出中 我得到了如下所示的矩阵 我必须将其积分为 2D 目前我正在按元素进行操作 如下所示 此方法有效 但速度太慢 对于sympy mpmath quad and scipy integrate dblquad 对于我的
  • 如何使用嵌入到Spring Cloud Stream中的kafka创建单元测试

    抱歉 这个问题太笼统了 但是有人有一些关于如何使用嵌入的 kafka 执行生产者和消费者测试的教程或指南 我已经尝试了几个 但是有多个版本的依赖项 但没有一个真正起作用 我正在使用春云流卡夫卡 我们通常建议使用测试粘合剂在测试中 但如果你想
  • 如何在 Rails 项目中运行日常任务/脚本?

    我正在为我的应用程序开发计费系统 但我不确定如何设置每天运行的脚本 一个用于发送付款提醒 电子邮件 另一个用于降级尚未续订的订阅 有关如何执行此操作的任何提示 有什么我需要注意的问题吗 有什么宝石我可以使用吗 我已经完成了大部分采购工作 所