Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Rails帐户更新功能

Rails帐户更新功能
EN

Stack Overflow用户
提问于 2015-11-12 23:05:03
回答 2查看 74关注 0票数 0

我想创建关于帐户更新的功能。如果该账户将在2015/11/20年度到期,则该账户只有七天的续订时间,否则将改为非活动账户。我怎样才能用cancancan和设计创业板或其他方式来存档呢?谢谢..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-13 01:53:38

这将以日程安排为基础:

  • 每天,调度程序将提取当天“过期”的每个帐户。
  • 使用返回的帐户,它将把它们放入队列(可能在Redis上)。
  • 另一个任务每天在队列中循环,直到过期之日,当帐户从队列中移除并变为“非活动”时。

要做到这一点,您需要在您的active模型中有一个Account属性,以便您可以定义它是否应该被视为活动的。您还将需要一个expires_at属性,以确定其过期日期。

然后使用类似于ResQue的东西来管理队列(它使用Redis),并且使用Rake来获取所需的数据。

--

查找

首先,您必须创建一个调度程序。

这将在OS级别完成(它必须根据请求调用Rails函数)。

如果您使用Heroku,您将能够使用Heroku Scheduler插件,这是Heroku的包装器,用于cron作业。

或者,如果运行非托管/共享宿主,也可以使用cron作业。

你可以在这里阅读有关cron作业的文章

软件实用程序Cron是类似Unix的计算机操作系统中基于时间的作业调度程序.设置和维护软件环境的人员使用cron调度作业(命令或shell脚本),定期在固定时间、日期或间隔运行。

您应该设置一个cron作业,以便从cmd运行rake (Cron基本上是调用cmd/bash的一种智能方法--允许您从它运行命令)。

因此,您将使用一些像这样

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0 0 * * * rake accounts:activate

--

瑞克

这必须由一个rake任务(它位于lib/tasks/your_rake_task.rb中)进行备份。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#app/models/account.rb
class Account < ActiveRecord::Base
   scope :expires_tday, -> { where("expires_at = ?", Time.zone.now.beginning_of_day) }
end

#lib/tasks/account_activator.rake
namespace :accounts do
  desc "Find expired accounts & put them into queue"
  task :activate => :environment do
      accounts = Account.expires_tday
      accounts.each do |account|
         $redis.add(account.id, account.expires_at) #-> will have to set up redis
      end
  end

  task :expire => :environment do
      /// look up accounts in redis and assign them as "expired"
  end
end

这应该是您即将到期的帐户的每日快照,将其发送到Redis队列,然后您可以使用类似的设置来处理该队列:

--

Redis

Redis是一个半持久化的数据存储,有点像你的应用程序的RAM。

您可以将key:value对添加到Redis实例中,允许您将其用于队列等。

我会亲自将即将过期的帐户发送到Redis安装,然后允许我每天执行另一个cron,在帐户到期时将帐户指定为expired

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0 0 * * * rake accounts:expire

这也可以通过Resque实现。

票数 1
EN

Stack Overflow用户

发布于 2015-11-12 23:40:07

坎坎坎用于技能,而设计则用于认证。

但是,您想要做的是不断查看用户,查看谁是活动的,谁将很快过期,并对用户的状态执行一些操作。

如果这是正确的,那么您应该看到的是运行cron作业(即每天重复执行的任务),该任务将在每天特定的时间对用户进行检查,以获取处于特定状态的用户,并对其执行任何您想要的操作。

有几个资源可以帮助您实现这一点。你可以找到关于那个红宝石工具箱里的。的信息

这些措施包括:

  • 什么时候都行
  • Rufus调度程序
  • Resque调度器
  • 发条
  • 克拉肯
  • 塔斯基特
  • 复发性

其中每一个都有关于如何实现它的文档。

希望这会有帮助..。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33687459

复制
相关文章
Rails里实现Filter功能
Scenario <pre> As a reader When I click on category 'rails' Then I should see articles of that category </pre> If you want some practice, go for saas book's RottenPotatoes demo. You will get a better understanding of filter and session stuff in rails!
用户2183996
2018/06/28
3540
Rails 构建评论功能(2)
添加删除模型 rails 命令可以方便的添加删除模型 [root@h202 blog]# rails --help Usage: rails COMMAND [ARGS] The most common rails commands are: generate Generate new code (short-cut alias: "g") console Start the Rails console (short-cut alias: "c") server Start
franket
2021/10/20
3700
Rails 构建评论功能(5)
修改视图和控制器 [root@h202 blog]# vim app/views/articles/show.html.erb [root@h202 blog]# cat app/views/articles/show.html.erb <p> <strong>Title:</strong> <%= @article.title %> </p> <p> <strong>Text:</strong> <%= @article.text %> </p> <h2>Add a commen
franket
2021/10/20
3420
Rails 构建评论功能(3)
评论在创表的过程中已经构建了与article 的关联,但是article并没与评论关联
franket
2021/10/20
8280
Rails 构建评论功能(4)
生成控制器 [root@h202 blog]# rails generate controller Comments Running via Spring preloader in process 3855 create app/controllers/comments_controller.rb invoke erb create app/views/comments invoke test_unit create test/c
franket
2021/10/20
3460
Rails 构建评论功能(1)
Rails 的相关基础,详细可以参考 官方文档 和 Ruby China 的 Rails 入门
franket
2021/10/20
5770
Rails 构建评论功能(9)
如果一篇文章删除了,其中的评论也应该一并删除,可以使用 dependent 来实现需求
franket
2021/10/20
4420
Rails 构建评论功能(7)
再次访问,显示效果不变 再将评论的表单也抽出 [root@h202 blog]# vim app/views/comments/_form.html.erb [root@h202 blog]# cat app/views/comments/_form.html.erb <%= form_for([@article, @article.comments.build]) do |f| %> <p> <%= f.label :commenter %><br> <%= f.text_fiel
franket
2021/10/20
4340
Rails 构建评论功能(6)
如果程序中重复代码达到一定量级,会影响可读性和可维护性,这时我们可以将其中重复部分抽出来,单独成块
franket
2021/10/20
4750
Rails 构建评论功能(10)
安全 对文章的修改加入基础认证 [root@h202 blog]# vim app/controllers/articles_controller.rb [root@h202 blog]# cat app/controllers/articles_controller.rb class ArticlesController < ApplicationController ###basic auth http_basic_authenticate_with name: "soft", password
franket
2021/10/20
3930
Rails 构建评论功能(8)
再次刷新访问,显示效果不变 ---- 删除评论 在comment视图中添加一个删除链接 然后触发Comment 模型进行删除操作 [root@h202 blog]# vim app/views/comments/_comment.html.erb [root@h202 blog]# cat app/views/comments/_comment.html.erb <p> <strong>Commenter:</strong> <%= comment.commenter %>
franket
2021/10/20
4510
Rails 构建评论功能(11)
虽然这只是一个小小的demo,但不得不说,ruby on rails 的开发效率是很高效的,原因是大部分本来需要手动完成的事情,这个框架已经帮忙自动完成了,我们需要做的只剩下去填补最基本的对象定义,逻辑关系,展示方式
franket
2021/10/21
4920
GitLab 通过安全更新修复了帐户接管高危漏洞
据Bleeping Computer网站6月3日消息,GitLab 为其社区版和企业版产品的多个版本发布了关键安全更新,以解决8个漏洞问题,其中一个为账户接管的高危漏洞。 这个帐户接管漏洞被追踪为 CVE-2022-1680,评分高达 9.9,影响 GitLab 11.10 至 14.9.4、14.10 至 14.10.3 和 15.0版本。控制 GitLab 帐户会带来严重后果,黑客可以访问开发人员的项目并窃取源代码。 根据公司公告,在具有特定配置的实例上可以利用该漏洞,当组SAML SSO被配置时,S
FB客服
2023/03/30
4540
GitLab 通过安全更新修复了帐户接管高危漏洞
本地帐户和活动目录帐户
本地帐户Local Accounts存储在本地的服务器上。这些帐户可以在本地服务器上分配权限,但只能在该服务器上分配。默认的本地帐户是内置帐户(如administrator、guest等),在安装Windows时自动创建。Windows安装后,无法删除默认的本地帐户。此外,默认的本地帐户不提供对网络资源的访问。默认的本地帐户用于根据分配给该帐户的权限来管理对本地服务器资源的访问。默认的本地帐户和后期创建的本地帐户都位于“用户”文件夹中。
谢公子
2023/09/01
1.7K0
本地帐户和活动目录帐户
rails -help
rails new APP_PATH [选项] //APP_PATH项目名称
不知雨
2018/11/13
2.6K0
C - Rails
C - Rails C - Rails #include<cstdio> #include<stack> #include<cstring> using namespace std; int a[1010]; int main() { int n; while (~scanf("%d",&n) && n) { while (1) { stack<int> s; scanf("%d",&a[0]); if (!a[0]) { puts(""); brea
杨鹏伟
2020/09/11
6820
Rails资源
Rails Resources Here I list some rails resources I found very helpful. Quick Start Ruby on Rails Guides Rails Bridge Tutorials Point Book The Rails 4 Way, Best rails book. Ruby on Rails Tutorial API Ruby on Rails API Screencast Rails Casts, excellent rai
用户2183996
2018/06/28
8520
Ruby On Rails 4 hello world,Ruby On Rails上手
有机会再试一试Rails了,仅仅是原来接触的是2,如今已然变成了4,似乎如今的安装比原来会快些。。
全栈程序员站长
2022/07/12
2.5K0
Ruby On Rails 4 hello world,Ruby On Rails上手
4399AT功能更新
由slide和orientation,click,origin 组成多场景测试要求;
厦门-安仔
2019/07/30
4380
Rails路由
在创建资源路由时,会同时创建多个可以在控制器中使用的辅助方法,如上面的资源路由会创建以下方法:
用户1515472
2019/07/24
4.5K0

相似问题

rails 3.1实时更新功能

13

包更新后Rails功能测试失败

12

Rails/Facebox -具有远程功能的更新

13

Wordpress -如果用户删除了帐户,更新功能

10

Rails我如何允许用户更新那里的帐户

27
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文