目前我们在JRuby中使用Resque,我们在开发时使用两种方式启动Worker.
QUEUE=* jruby -J-cp /path/to/library -S rake environment resque:workRun Code Online (Sandbox Code Playgroud)
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
我有以下内容:
<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
感谢您对此提供的任何信息或指导.