草庐IT

rake_task

全部标签

ruby-on-rails - 如何通过 capistrano 3 运行自定义 rake 任务?

哪种方式,我可以通过远程服务器上的capistrano运行rake命令。例如我有一个带有一些方法的lib/task/reparse.rakedesc"it'stakecsvfile,makessomechangesandfilldbwiththisinfo"task:example1=>:environmentdorequire'csv'rows_to_insert=[]#someactions#...end在本地服务器上一切正常-我只是运行rakereparse:example1它的工作(正确填充数据库)。所以问题是-部署后如何在真实主机上运行此命令?我正在使用rails4.1+ca

ruby-on-rails - RubyInstaller 2.2.1 和 Rails - Rake 无法加载 Nokogiri

最近我在Windows上使用新的RubyInstaller安装了Ruby2.2.1。为了检查是否一切正常,我进入了一个Rails应用程序并运行了bundleinstall,它运行良好。但是,当我使用bunleexecraketest运行测试时,出现以下错误:rakeaborted!LoadError:cannotloadsuchfile--nokogiri/nokogiriD:/Dev/Grummle/config/application.rb:7:in`'D:/Dev/Grummle/Rakefile:4:in`'LoadError:cannotloadsuchfile--nokog

ruby - 如何在 Rake 任务依赖项中使用命名空间?

定义rake任务时,可以使用命名空间,如下所示:namespace:demolitiondotask:fire_bazookadoputs"kaboom!"endend这可以像rakedemolition:fire_bazooka这样调用。也可以指定任务的先决条件,如下所示:#Singleprerequisitetask:fire_bazooka=>:load_bazookado....#Multipleprerequisitestask:fire_bazooka=>[:safety_check,:load_bazooka]但是我如何使用命名空间任务作为先决条件?这显然行不通:task

c# - ValueTask 的 Task.WhenAll

是否有接受ValueTask的Task.WhenAll等效项?我可以使用解决它Task.WhenAll(tasks.Select(t=>t.AsTask()))如果它们都包装了一个Task,这会很好,但是它会强制为真正的ValueTask分配一个Task对象的无用分配. 最佳答案 按照设计,没有。来自thedocs:Methodsmayreturnaninstanceofthisvaluetypewhenit'slikelythattheresultoftheiroperationswillbeavailablesynchronou

c# - 返回 Task<T> 的方法是否应该始终启动返回的任务?

如果我有这样的方法TaskLongProcessTaskAsync();返回一个开始的任务会是更好的做法吗returnTask.Factory.StartNew(()=>{...});或者只是returnnewTask(()=>...)就个人而言,我更喜欢第一种方法,但我更愿意与其他API和库保持一致。返回未开始的任务是否更合适? 最佳答案 在异步/等待方法的情况下,任务将已经启动。AFAIK,为基于任务的版本添加的所有BCL方法都返回已经启动的任务。不这样做有点奇怪,因为现在常见的消费者案例是:varfoo=awaitGetFoo

c# - Observable.FromAsync 与 Task.ToObservable

有没有人可以指导何时使用其中一种方法而不是另一种方法。他们似乎做同样的事情,因为他们将TPLTask转换为Observable。Observable.FromAsync似乎支持取消标记,这可能是一个细微的差别,允许生成任务的方法参与协作取消(如果已处理可观察对象)。只是想知道我是否遗漏了一些明显的东西,为什么你会使用一个而不是另一个。谢谢 最佳答案 Observable.FromAsync接受Func形式的TaskFactory或Func>,在这种情况下,只有在订阅可观察对象时才会创建和执行任务。哪里.ToObservable()需

c++ - boost asio : different thread pool for different tasks

网络上有很多关于创建简单线程池的示例,例如Sample1和Sample2虽然我想要实现的是为不同的任务提供一个单独的线程池。例如,应用程序可能有一个线程池用于处理传入的tcp连接(我们称之为网络池),而另一个线程池用于与数据库(数据库池)对话。这些传入的tcp请求可能需要来自数据库的信息。在这种情况下,它需要请求数据库池中的那些线程执行查询,并异步返回结果。是否有使用boost::asio的推荐方法?每个池都有一个io_service实例吗?这些线程应该如何相互通信(使用boost)?我明白要解释所有这些,代码不会那么短和琐碎,但如果可能的话,一些伪代码将不胜感激。谢谢!

c++ - 将 packaged_task 移动到 lambda

我想在lambda中移动并调用boost::packaged_task。但是,我想不出一个优雅的解决方案。例如这不会编译。templateautobegin_invoke(Func&&func)->boost::unique_future//noexcept{typedefboost::packaged_tasktask_type;autotask=task_type(std::forward(func));autofuture=task.get_future();execution_queue_.try_push([=]{try{task();}catch(boost::task_a

c++ - std::packaged_task 编译错误 w/gcc 4.6

我正在尝试使用std::packaged_task在线程中启动函数Queryquery;/*protobufobject*//*fillQueryobject*/std::packaged_tasktask([](Query&q)->SearchResults{index::core::Mergermerger;returnmerger.search(q);});std::futureftr=task.get_future();std::thread(std::move(task),query).detach();Edit2:再次更新代码以修复错误并包含完整的错误消息。g++-4.6(

c++ - std::packaged_task 是如何工作的

我正在分析以下代码片段并试图详细理解它:templateautoThreadPool::add(FUNCTION&&Function,ARGUMENTS&&...Arguments)->std::future::type>{usingPackedTask=std::packaged_task::type()>;autotask=std::make_shared(std::bind(std::forward(Function),std::forward(Arguments)...));//getthefuturetoreturnlaterautoret=task->get_future(