पर त्रुटि मैं एक एसिंक कार्य बनाने की कोशिश कर रहा हूं जो अनुरोध को अवरुद्ध नहीं करेगा। उपयोगकर्ता अनुरोध करता है, कार्य शुरू हो जाएगा, और नियंत्रक "नौकरी चल रहा है ..." प्रस्तुत करेगा, यह कार्य को पूरा करने के लिए अवरुद्ध होने वाले अनुरोध से बचने के लिए है। एक बार काम खत्म है, यह onComplete निष्पादित और उस कार्य के परिणाम के साथ कुछ करना होगाएसिंक नौकरी
| Error 2014-09-16 17:38:56,721 [Actor Thread 3] ERROR gpars.LoggingPoolFactory - Async execution error: null
(उदाहरण के लिए एक सेवा है कि एक उपयोगकर्ता के लिए एक मेल भेजेगा कहते हैं) कोड निम्नलिखित है:
package testasync
import static grails.async.Promises.*
class TestController {
def index() {
//Create the job
def job1 = task {
println 'Waiting 10 seconds'
Thread.sleep(10000)
return 'Im done'
}
//On error
job1.onError { Throwable err ->
println "An error occured ${err.message}"
}
//On success
job1.onComplete { result ->
println "Promise returned $result"
}
render 'Job is running...'
}
पूरा स्टैकट्रेस:
| Error 2014-09-17 10:35:24,522 [Actor Thread 3] ERROR gpars.LoggingPoolFactory - Async execution error: null
Message: null
Line | Method
->> 72 | doCall in org.grails.async.factory.gpars.GparsPromise$_onError_closure2
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 62 | run in groovyx.gpars.dataflow.DataCallback$1
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 615 | run in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run . . . in java.lang.Thread
वहाँ एक पूरा का पता लगाने है? – cfrick
ने पूर्ण stacktrace – agusluc