#Here is how I have delayed job set up.
Delayed::Worker.backend = :active_record
#Delayed::Worker.logger = Rails.logger
Delayed::Worker.logger = ActiveSupport::BufferedLogger.new("log/
##{Rails.env}_delayed_jobs.log", Rails.logger.level)
Delayed::Worker.logger.auto_flushing = 1
class Delayed::Job
def logger
Delayed::Worker.logger
end
end
if JobsCommon::check_job_exists("PeriodicJob").blank?
Delayed::Job.enqueue PeriodicJob.new(), 0, 30.seconds.from_now
end
#end
#Here is my simple job.
class PeriodicJob
def perform
Rails.logger.info "Periodic job writing #{Time.now}"
Delayed::Job.enqueue PeriodicJob.new(), 0,
30.seconds.from_now
end
end
Run Code Online (Sandbox Code Playgroud)
我没有在rails日志或延迟的作业日志文件中看到来自延迟作业的任何日志消息,我看到的唯一消息是delayed_jobs.log文件中的作业开始/成功/失败.
这导致了大问题,包括检测工作中的错误和内存泄漏几乎是不可能的!请帮忙!
对齐图标(左)和文本(右)或左侧相反文本和右侧图标的最佳方法是什么?
图标图像和文字的大小必须相同吗?理想情况下,我希望它们不同但是在同一垂直对齐上.
我使用background-position css属性从更大的图像中获取图标.
我现在就是这样做的,但是我要努力让它们在同一条线上或垂直对齐到底部.
文本
这是我在尝试你的建议后得到的.
虽然文本现在与图标对齐,但它会叠加在我想要的图标右侧的图标上.请注意,我使用背景位置从更大的图像集中显示图标.
基本上我得到了
<icon><10px><text_and_unwanted_icon_to_the_right_under_it>
<span class="group3_drops_icon group3_l_icon" style="">50</span>
group3_drops_icon {
background-position:-50px -111px;
}
.group3_l_icon {
-moz-background-clip:border;
-moz-background-inline-policy:continuous;
-moz-background-origin:padding;
background:transparent url(/images/group3.png) no-repeat scroll left center;
height:35px;
overflow:hidden;
padding-left:55px;
}
Run Code Online (Sandbox Code Playgroud) 我打算使用延迟工作来运行一些后台分析.在我的初始测试中,我看到了大量的内存使用,所以我基本上创建了一个非常简单的任务,每2分钟运行一次,只是为了观察正在使用的内存量.
任务很简单,analytics_eligbile?在给定数据的位置的情况下,方法总是返回false,所以基本上没有一个重击代码被调用.我在开发中的示例数据中有大约200个帖子.发布has_one analytics_facet.
无论此处的内部逻辑/业务如何,此任务所做的唯一事情就是调用analytics_eligible?方法每2分钟200次.在4小时内,我的物理内存使用量为110MB,虚拟内存为200MB.只是为了做这么简单的事情!我甚至无法想象,如果用真实的生产数据对10,000个帖子进行真正的分析,它会占用多少内存!当然,它可能无法运行2分钟,更像每30分钟,但我认为它不会飞.
这是在Ubuntu 10.x 64位上运行ruby 1.9.7,rails 2.3.5.我的笔记本电脑有4GB内存,双核CPU.
轨道真的很糟糕还是我做错了什么?
Delayed::Worker.logger.info('RAM USAGE Job Start: ' + `pmap #{Process.pid} | tail -1`[10,40].strip)
Post.not_expired.each do |p|
if p.analytics_eligible?
#this method is never called
Post.find_for_analytics_update(p.id).update_analytics
end
end
Delayed::Worker.logger.info('RAM USAGE Job End: ' + `pmap #{Process.pid} | tail -1`[10,40].strip)
Delayed::Job.enqueue PeriodicAnalyticsJob.new(), 0, 2.minutes.from_now
Run Code Online (Sandbox Code Playgroud)
def analytics_eligible?
vf = self.analytics_facet
if self.total_ratings > 0 && vf.nil?
return true
elsif !vf.nil? && vf.last_update_tv > 0
ratio = self.total_ratings / vf.last_update_tv
if (ratio - 1) …Run Code Online (Sandbox Code Playgroud) 当我尝试通过"部署"用户帐户进行部署时,我收到了后续错误.
1782001..ae10d1b master -> master
** transaction: start
* executing `deploy:update_code'
updating the cached checkout on all servers
executing locally: "git ls-remote git@github.com:username/app_name.git master"
* executing "if [ -d /var/www/app_name/shared/cached-copy ]; then cd /var/www/app_name/shared/cached-copy && git fetch -q origin && git reset -q --hard ae10d1bfe43820d8d69bbc92761a3f666cf56765 && git clean -q -d -x -f; else git clone -q git@github.com:username/app_name.git /var/www/app_name/shared/cached-copy && cd /var/www/app_name/shared/cached-copy && git checkout -q -b deploy ae10d1bfe43820d8d69bbc92761a3f666cf56765; fi"
servers: ["173.230.158.13"]
[173.230.158.13] executing command
** [173.230.158.13 :: out] error: cannot …Run Code Online (Sandbox Code Playgroud) 如何在find_in_batches中包含:select子句.以下命令在'字段列表'中抛出错误"Mysql :: Error:Unknown column'users.id':.
Post.find_in_batches(:batch_size => 100, :select => "users.id, users.name, categories.name, posts.id", :include => [:user, :category]) do |group|
#stuff with group
end
Run Code Online (Sandbox Code Playgroud) 我很惊讶我在谷歌上找不到它,添加"推文"这个链接的最佳方式是将URL和描述发布到用户的推特账号?
我试图在动作管理器模板中使用现有的部分,比如...
我的merchant_offer.txt.html.erb
<%= render :partial => "offers/offer", :locals => {:offer => @offer} %>
Run Code Online (Sandbox Code Playgroud)
Notifier.rb(我的邮件程序类):
def merchant_offer(offer)
subject "New Offer from #{offer.merchant.name}"
from "xxx@gmail.com"
recipients xxx@
sent_on Time.now
body :offer => offer
end
Run Code Online (Sandbox Code Playgroud)
该商品部分在另一个名为offer的视图文件夹中
但它抛出了一个缺少的tempalate错误.
有没有办法在邮件程序中重复使用现有视图?
谢谢
我的主页对所有用户来说基本相同,这使其成为页面缓存的候选者.但是,有一些是用户特定的.例如,有一个导航项只显示登录用户,并且有一个链接,如logout,我的个人资料等,为特定用户生成.
我是否必须使用片段缓存?或者我应该为这些特定项目使用页面缓存和嵌入片段缓存?或者以其他方式实现这一目标.
此外,导航栏是在插件(简单导航)中生成的,如何控制插件内部关于缓存的内容?
谢谢
可能重复:
与stackoverflow功能类似的通知警报
通知栏顶部,显示"你赢得xyz徽章"之类的东西.它是如何完成的?我正在尝试在我的rails应用程序中创建类似的东西.我使用蓝图进行布局,这是标准的单列950px布局,从标题到页脚的所有内容都在容器div中.
我正在使用rakismet检查评论中的垃圾邮件.
现在,我在before_create回调中做到这一点,我想在生产网站中,如果这是最有效的方式,或者应该由后台工作完成.
您可以分享一下您的生产应用程序响应速度延迟的经验吗?
css ×2
delayed-job ×2
performance ×2
actionmailer ×1
caching ×1
capistrano ×1
css-sprites ×1
erb ×1
git ×1
jquery ×1
twitter ×1