我正在使用delayed_job 执行系统调用。此系统调用调用 Groovy 脚本。
class Job
def perform
command "groovy file.groovy"
system command
end
def success(job)
# handle success
end
def error(job, exception)
# handle error, exception
end
end
这一切都很完美,但我总是回到“成功”状态,因为我的 groovy 总是正确退出。我目前正在投入RuntimeExeptions
Groovy 脚本来引发失败的工作。当我调用system "groovy progra.groovy"
它并引发异常(groovy 程序引发异常)时,system
调用的返回值正如预期的那样false
。但是当通过delayed_job 做同样的事情时,它从不访问def error
方法,而是访问def success
方法。
您对 delay_job 如何实际控制perform
方法的返回有什么建议吗?什么时候进入error
orfailure
钩子。不幸的是,我在文档中没有找到关于这个主题的任何内容。
提前致谢