小编Lui*_* R.的帖子

当部署为WAR时,JRuby中的线程安全Resque Worker

目前我们在JRuby中使用Resque,我们在开发时使用两种方式启动Worker.

  • 使用耙子:
QUEUE=* jruby -J-cp /path/to/library -S rake environment resque:work
Run Code Online (Sandbox Code Playgroud)
  • 以编程方式,通过Sinatra Rack App(或其他)初始化,最终通过以下方式调用类:

def start
   @worker = Resque::Worker.new(@queues)
   @worker.verbose = @vervose
   @worker.work(@interval)
end

def stop
   @worker.try(:shutdown)
end
Run Code Online (Sandbox Code Playgroud)

虽然这两种解决方案都适合我们开发.我担心在部署到Tomcat时这将如何工作.

在Ruby中,通常会产生或妖魔化工作者,然后使用监视工具来监视pid.

在部署时以编程方式启动Workers是否有意义?我想知道它是否在java中启动一个新线程或者混乱了jruby进程,如果不是我应该使用,还有另一个像quartz这样的调度库来启动一个worker?或者在部署任务中启动的rake任务?

我可以创建一个Worker模型,然后跟踪数据库中的worker,但这对我没有意义.

任何帮助或知识将不胜感激.

谢谢.

参考文献:

https://github.com/defunkt/resque

http://rubydoc.info/github/defunkt/resque/master/Resque/

http://blog.thomasmango.com/post/636319317/resque-in-production

https://gist.github.com/486161

java rake tomcat jruby resque

5
推荐指数
1
解决办法
1358
查看次数

Maven 3 JavaDoc插件与TestNG组冲突

我有以下内容:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>${maven-javadoc-plugin.version}</version>
    <executions>
        <execution>
            <id>javadoc-jar</id>
            <phase>package</phase>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

在包装或安装过程中工作正常:

但是,当我尝试指定要运行测试的TestNG组时,mvn install或mvn包:

mvn install -Dgroups=somegroup
Run Code Online (Sandbox Code Playgroud)

测试完成后,它会因以下错误而失败:

[错误]无法在项目ibd.database.api上执行目标org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar(javadoc-jar):无法解析mojo org.apache.maven的配置.plugins:maven-javadoc-plugin:2.9.1:参数#的jar:在类org.apache.maven.plugin.javadoc.options.Group中找不到默认的setter

感谢您对此提供的任何信息或指导.

java testng javadoc maven

5
推荐指数
1
解决办法
744
查看次数

标签 统计

java ×2

javadoc ×1

jruby ×1

maven ×1

rake ×1

resque ×1

testng ×1

tomcat ×1