草庐IT

多任务loss优化

全部标签

ruby - 使用 Sinatra 时如何从 gem 导入 rake 任务?

我正在尝试向orientdbgem添加一些基本的rake任务,这将允许我创建数据库、创建数据库迁移和迁移数据库——类似于rails迁移。当我在本地执行rake任务时,我可以使用db:settings、db:create和db:create_migration,但是在将它们放入gem之后,我不知道如何从Sinatra访问它们使用“rake”时的应用。我有一种感觉,我要么是a)没有正确地组织gem中的文件和/或b)没有从Sinatra应用程序正确地调用东西。我的fork存储库的当前状态是https://github.com/ricaurte/orientdb-jruby我将任务文件放在li

ruby-on-rails - 多线程 rake 任务

我正在编写一个rake任务,它会由Whenever每分钟(将来可能每30秒)调用一次,并且它会联系一个轮询API端点(我们数据库中的每个用户)。显然,这样单线程运行效率不高,但是多线程有可能吗?如果没有,是否有一个好的基于事件的HTTP库可以完成这项工作? 最佳答案 I'mwritingaraketaskthatwouldbecalledeveryminute(possiblyevery30secondsinthefuture)byWhenever注意Rails启动时间,最好使用fork模型,例如Resque或Sidekiq,Res

ruby-on-rails - 在 rake 任务中需要 lib

我在lib/models/alert_import中有一个文件alert_import',我想在我的任务中使用这样的东西:task:send_automate_alerts=>:environmentdo#STDERR.puts"Pathis#{$:}"Rake.application.rake_require'../../lib/models/alert_import'ai=AlertImport::Alert.new(2)ai.send_email_with_notifcationsend在这段代码中出现错误:找不到../../lib/models/alert_import在Ale

ruby - 检查 Rakefile 中是否存在 rake 任务

我正在寻找一种方法来检查Rakefile中是否存在某个rake任务。我有一个任务依赖项,如果该任务可用,我只想将其作为依赖项包含在内。在这种特殊情况下,该任务仅在Rails项目中可用,但我希望我的rake任务也能在更通用的Ruby应用程序环境中工作(不仅仅是Rails)。我想做这样的事情:iftasks.includes?('assets:precompile')task:archive=>[:clean,:vendor_deps,'assets:precompile']...endelsetask:archive=>[:clean,:vendor_deps]...endend在rak

ruby-on-rails - 从 rake 任务调用 Controller

我想从rake任务中调用Controller操作。我的问题是准备http请求的最佳方法是什么?感谢所有提示。编辑:有人有其他提示吗?我试过这个但没有用:controller_obj=Controller.newcontroller.your_method我遇到了这个异常:rakeaborted!uninitializedconstantController编辑2:我试过:sess=ActionController::Integration::Session.newsess.post('/route','codes=3')但是我得到了(我在rake文件中需要'action_control

ruby - 带有字符串参数的 Sinatra 应用程序的 Heroku rake 任务失败

我刚刚将Sinatra应用程序部署到heroku,该应用程序包含两个rake任务:task:create_db,[:db_id,:db_name]task:destroy_db,[:db_id,:token]当我运行时herokurunrake-T在控制台中,Heroku打印以下响应:(in/app)rakecreate_db[db_id,db_name]#Creationcountdatabasetaskrakedestroy_db[db_id,token]#Destroydatabasetask但是当我运行时:herokurunrakecreate_db['test','testd

ruby - 如何使用 Whenever gem 强制 rake 任务在开发环境下运行

我正在使用Whenevergem运行rake任务。当我运行rake任务时,它在开发环境下运行,但当它在预定时间运行时,它指的是生产环境。如何强制在开发环境下运行预定的rake任务。据我所知,我将不得不使用RAILS_ENV变量,但无法弄清楚将它放在哪里。我认为,这与此处的Whenevergem无关。 最佳答案 在任何bash类型的shell中,您通常可以在运行时覆盖环境:RAILS_ENV=developmentraketask:name...您也可以编写一个小脚本来为您执行此操作:#!/bin/shexportRAILS_ENV=

基于RTS超低延时直播优化强互动场景体验

RTS在阿里云视频直播的基础上进行底层技术优化,通过集成阿里云播放器SDK,支持在千万级并发场景下节点间毫秒级延时直播的能力,弥补了传统直播存在3~6秒延时的问题,确保了超低延时、低卡顿、秒开流畅的直播观看体验。本文介绍了基于RTS超低延迟直播优化强互动场景体验的最佳实践方案,并以阿里云播放器Aliplayer为例,详细介绍RTS超低延迟拉流接入、自动降级、排障信息获取等逻辑的实现,助力企业打造互动直播行业的产品竞争力。适用场景该方案适用于对超低延迟直播有诉求的客户,尤其是业务中存在强互动场景直播的场景。强互动场景直播主要是指对主播和观众存在互动,或观众存在更高实时性观看、画面互动需求的情况,

ruby - 无法使用 CONSTANT 优化字符串

我目前正在研究Ruby2.1.1的改进,但遇到了一些奇怪的事情。我正在尝试改进String类并定义一个名为FOO的常量。沙箱.rbmoduleFoobarrefineStringdoFOO="BAR"deffoobar"foobar"endendendusingFoobarputs"".class::FOO#=>uninitializedconstantString::FOO(NameError)puts"".foobar#=>"foobar"这给了我未初始化的常量String::FOO(NameError)。但是我可以调用"".foobar这让我相信我在正确的范围内。奇怪的是,如果我

ruby - 如何编写仅包含特定文件夹和文件夹本身的 Albacore zip 任务?

我正在尝试使用Albacore的ZipTask压缩rake构建的工件.我正在构建的解决方案包含三个项目,这些项目的工件需要单独压缩,但这里只提及ASP.NETMVC项目。这是解决方案的目录结构:rakefile.rbsolution.slnsrc/(otherprojectsthatarenotrelevant)website/(variousfoldersIdon'twantincludedintheartifacts)bin/Content/Scripts/Views/Default.aspxGlobal.asaxweb.config起初我写了这个任务:website_direct