我的想法是捕获session_id并将其存储在线程本地存储中,例如
Thread.current[:session_id] = session[:session_id]
Run Code Online (Sandbox Code Playgroud)
但是在调用过滤器之前会发生一些rails记录.
我以为我可以通过编写中间件插件来捕获session_id.但同样,我似乎没有及早得到所有日志记录.
我最早可以捕获session_id的是什么?
谢谢!
我创建了一个 Capistrano 任务来执行 rake 命令。我计划将输出(STDOUT)重定向到文件。例如
\n\ncap production invoke:rake TASK=mytask > out
这可行,但我的输出包括一些额外的 Capistrano 状态输出,例如
\n\n00:00 invoke:rake\n 01 $HOME/.rbenv/bin/rbenv exec bundle exec rake mytask\n...\n \xe2\x9c\x94 01 ubuntu@mydomain.com 11.399s\n
有什么办法可以抑制这种情况吗?
\n当delay_job从队列中拉出新作业时,它是否首先按优先级对队列进行排序?如果没有,那么我猜因为“ read_ahead”,低优先级的作业可以先于高优先级运行。
从delay_job文档中:
默认行为是在找到可用作业时从队列中读取5个作业。您可以通过设置Delayed :: Worker.read_ahead来配置它。
示例:我添加了100个优先级为10的作业(优先级较低的优先级首先运行)。然后,我添加1个优先级为0的作业。如果我使用默认的read_ahead值为5,则delay_job是否需要首先处理96个作业,然后才能找到我的一个高优先级作业?