This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Something like this will likely allow propagation of thread-local information | |
val originalEc: ExecutionContext = ... // the actual execution context | |
// This will get called every time an implicit EC is necessary, effectively preparing the context | |
implicit def wrappedEc: ExecutionContext = { | |
val ctx = ...// capture thread local context here | |
new ExecutionContext { | |
override def execute(r: Runnable): Unit = originalEc.execute(new Runnable() { | |
override def run(): Unit { | |
val oldCtx = ... // get old context |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var expectEditor = { | |
toBeClosed: function() { | |
expect($('.image-editor')).toBeHidden(); | |
expect($('.drag-to-reposition')).toBeHidden(); | |
expect($('.filter-options')).toBeHidden(); | |
expect($('.tools')).toBeHidden(); | |
expect($('.patterns')).toBeHidden(); | |
expect($('.edit-img')).toBeVisible(); | |
}, | |
toBeOpen: function() { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import play.api.Logger | |
import org.slf4j.MDC | |
+import scala.concurrent.{ExecutionContext, Future} | |
import java.util.UUID | |
+import java.util.concurrent.Executors | |
-object SyncController extends Controller { | |
- def syncEndpoint(profileId: Long) = Action(parse.json) { req => | |
+object AsyncController extends Controller { | |
+ implicit val ec = ExecutionContext.fromExecutor(Executors.newFixedThreadPool(2)) | |
+ // For this example, ensure the threads in the pool are already created |