首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >应该把它移到后台任务吗?

应该把它移到后台任务吗?
EN

Stack Overflow用户
提问于 2014-01-27 20:51:56
回答 2查看 49关注 0票数 1

我有一个有用户和乔布斯的招聘系统。

它们之间存在着一种has_many关系:通过潜能。

这将使管理员能够从本质上了解用户很可能适合某项工作。

要做到这一点,我有一个after_create和一个after_save事件,像这样--

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 class User < ActiveRecord::Base

  after_create :create_potentials
  after_save :set_potentials

  private
    def create_potentials
      Job.all.each do | job | 
        potential = Potential.new
        potential.job_id = job.id
        potential.user_id = self.id
        potential.save!
      end
    end

    def set_potentials
      self.potentials.each do |potential|
        potential.level = potential.find_potential
        potential.save!
      end
    end

不过,这让我很担心。首先,我使用整个模型只是为了一个属性,“潜力”,这似乎有点古怪。

第二个问题是,在创建用户之后,我将为所有的工作创造潜力。

目前,这些工作相对较少(即30岁以下),但这是许多潜在的计算任务。

after_create和after_save事件能异步运行吗?

EN

回答 2

Stack Overflow用户

发布于 2014-01-27 21:01:48

您可以使用像延迟作业这样的Gem异步运行方法。

工作

您的优化问题的答案可能取决于,如您所说,有多少工作,用户,因此“潜力”可能存在。正确的方法还取决于您是否需要使用SQL查询它们,或者是否可以动态地计算它们。

您的当前关联代码可以通过通过关联创建潜在值而略为缩短。如果您决定为每个Potential为每个User创建一个每一个,那么您将希望使用每一个来避免将每个作业同时加载到内存中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  Job.find_each { |job| job.potentials.create!(user_id: self.id) }
票数 1
EN

Stack Overflow用户

发布于 2014-01-27 22:14:29

根据你的Qsn,for every new user created. Entries are made into potential table for each job id along with the user_id.

要更新用户条目,potential level is being updated for all the potential table entries for that user which equals total no of jobs present.

如果您正在为用户寻找实时更新,那么您需要跳过cron部分并实现逻辑以减少查询的no。如果这不是一个限制,那么建议使用cron作业来处理它,使用redis/resque来处理after_create和after_save任务。当任何用户创建或更新任务时,这些作业将由正在运行的redis服务器处理。

正如doctororange在回答中所建议的那样,如果您希望定期处理任务,而不管对用户表的任何更改,也可以查看延迟作业。

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

https://stackoverflow.com/questions/21397091

复制
相关文章
Mac提示文件:已损坏,无法打开。你应该把它移到废纸篓
我的是新版的Venture 13的系统。UI改的比较多。与之前的配置还是有很大的区别的。
ha_lydms
2023/08/10
9480
Mac提示文件:已损坏,无法打开。你应该把它移到废纸篓
为什么把 dig 迁移到 wire
dig 和 wire 都是 Go 依赖注入的工具,那么,本质上功能相似的框架,为什么要从 dig 切换成 wire?
RememberGo
2021/08/02
1.3K0
把windows下的testlink迁移到linux下
把windows下的testlink迁移到linux下 一,windwos的操作如下 主要是导出testlink的数据库
三杯水Plus
2018/11/14
1.7K0
你还没有迁移到 HTTPS 吗?
我看到很多项目开发的网站,都是以 HTTP 方式进行访问,不过都是在公司内部使用,就算不安全也影响不大。但是一旦接入互联网,那就是另一回事了,只要你的网站需要用户注册,传输卡号、密码等敏感信息,建议都迁移到 HTTPS,下面就来具体聊一聊迁移到 HTTPS 的必要性及相关迁移的方法。
somenzz
2020/11/25
6910
你还没有迁移到 HTTPS 吗?
已损坏,无法打开。您应该将它移到废纸篓
安装破解版的app或者非appstroe的app经常会遇到这个问题。出现这个情况,通过下面的方法并不能解决:
obaby
2023/02/24
1.2K0
文件没保存怎么办?全部重新来过吗?教你把它找回来
“救命啊,我呕心沥血花了三小时做的年终总结,电脑突然蓝屏了,被迫重启后,文件没了,能不能恢复啊,要是不能恢复,我至少得吐血三升了。”
IT狂人日志
2022/05/18
2.9K0
文件没保存怎么办?全部重新来过吗?教你把它找回来
用什么策略把你的 JavaScript 迁移到 TypeScript
本文概述了将代码库从 JavaScript 迁移到 TypeScript 的策略。还提到了需要进一步阅读的材料。
疯狂的技术宅
2020/04/24
7980
用什么策略把你的 JavaScript 迁移到 TypeScript
WordPress 技巧:把多说的 JavaScript 脚本移到底部
多说默认是在 Head 输出它的相关 JavaScript 脚本,但是有时候因为多说服务器不稳定的问题,会引起整个博客速度被拖累,另外按照 YSlow 或者 Google PageSpeed 等优化规则,最好也是要把 JavaScript 代码放到 Footer,下面就介绍下如何把多说的 JavaScript 脚本移到 Footer:
Denis
2023/04/15
2380
RealFormer:把残差转移到Attention矩阵上
大家知道Layer Normalization是Transformer模型的重要组成之一,它的用法有PostLN和PreLN两种,论文《On Layer Normalization in the Transformer Architecture》中有对两者比较详细的分析。简单来说,就是PreLN对梯度下降更加友好,收敛更快,对训练时的超参数如学习率等更加鲁棒等,反正一切都好但就有一点硬伤:PreLN的性能似乎总略差于PostLN。实际上大家都用相同的参数,学习相同的步数,最终PreLN的效果是要优于PostLN的,但是将两者各自调试到最优的情况下,PostLN的效果通常好些
mathor
2021/07/13
7990
设计师应该学编程吗?程序员应该懂设计吗?
本文首发于饿了么前端-知乎专栏 如果大家对于前端知识感兴趣,可以通过点击文章下方的阅读全文,来访问专栏地址 在此处再次感谢原作者——王钊 Dzinlife.com 程序员跟设计师之间并不总是能顺畅沟通
用户1687375
2018/06/08
1.8K0
计算应该与存储分离吗?
这篇文章构思了很久,因为我不是做计算机底层研究的,也没做过数据库,一直在应用层打转转,最多读过几篇相关的文章,所以担心我的知识储备不够写这么一篇比较严肃的话题,后来有朋友说服了我,可以不聊纯技术方面,而是谈谈笔者对大数据时代,计算与存储应该分离吗?于是就有了本文。注意,本文不牵扯到具体的技术细节和代码,要是被读者发现了有错误,请大胆指出。
哒呵呵
2020/04/23
2.4K0
域名查询网是什么 它应该怎么使用
上网的时候是需要域名这个东西的,而它的查询如何正确的进行呢?那就需要用户自己在网上从域名查询网上进行查询了,为什么域名查询网可以进行域名的查询呢?它是什么呢?它可以用来干什么呢?一起来了解一下吧。
用户8739990
2021/07/23
4.1K0
域名查询网是什么 它应该怎么使用
PostgreSQL 14和SCRAM认证的改变--应该迁移到SCRAM?
PostgreSQL 14和SCRAM认证的改变--应该迁移到SCRAM? 最近,一些PG使用者反馈他们切换到PG14后,遇到了一些连接错误。 “FATAL: password authentica
yzsDBA
2022/02/09
1.6K0
解决:已损坏,无法打开,您应该将它移到废纸篓
macOS Catalina下,即便已通过在终端中输入命令 sudo spctl --master-disable 允许APP任意来源,也会出现某些APP安装后,打开时提示:xxx.app已损坏,无法打开,您应该将它移到废纸篓。
瑞新
2020/07/07
4.4K0
iOS 后台任务
仅当你的app是真的提供给用户音频播放功能,你才能使用音频后台模式。 若我们抱有侥幸心理,为了获得CPU更多时间而利用该模式播放一段无声的音频,apple将会拒绝此类app。 同样的当语音播放完毕之后程序同样会挂起
码客说
2019/10/22
6820
程序员应该把懒作为目标
频繁的时候可能一个 Activity或者 Fragment要出现十几行的 findViewById…
PhoenixZheng
2018/08/07
3930
把项目迁移到Kubernetes上的5个小技巧
我们将在本文中提供5个诀窍帮你将项目迁移到Kubernetes上,这些诀窍来源于过去12个月中OpenFaas社区的经验。下文的内容与Kubernetes 1.8兼容,并且已经应用于OpenFaaS - Serverless Functions Made Simple的实践中。 免责声明 因为Kubernetes 的API更新的特别频繁,请参考官方文档获得最新信息。 1. 将所有的内容都放进Docker 第一步操作是给以独立进程方式运行的每个组件创建一个Dockerfile,这看起来是显而易见的。如果
Java架构
2018/05/04
1.2K0
如何把Composer镜像迁移到Laravel China 维护的镜像?
今天在更新Laravel-admin:1.6.0提示没有对应的包,后面才发现需要使用官方或者 Laravel-China 的 composer 镜像,phpcomposer 镜像已经停止维护了。怎么从 phpcomposer 的 Composer 镜像迁移到 Laravel China 维护的镜像?
ytkah
2018/09/28
1.2K0
如何把Composer镜像迁移到Laravel China 维护的镜像?
如何把Eclipse项目迁移到AndroidStudio(如何把项目导入安卓)--这我很困惑
学习android对我来说,就是兴趣,所以我以自己的兴趣写出的文章,希望各位多多支持!评论讨论。
达达前端
2022/04/28
3590
如何把Eclipse项目迁移到AndroidStudio(如何把项目导入安卓)--这我很困惑
点击加载更多

相似问题

我能用.outerWidth()和.css()把它移到右边吗?

54

这是javascript吗?我应该把它放在哪里?

50

我应该把它变成一个模块吗?

10

我应该把它做成一个模型吗?

10

我应该把一个临时变量移到变量中吗?

25
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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