问题标签 [executioncontext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何编辑 ExecutionContext 春季批处理
除了 read()、updated() 和 open() 方法之外,还有什么方法可以在执行上下文中添加条目。
就像在下面的代码中一样,我试图在 close 方法中添加条目。
在上面的示例中,我无法更新新条目。它只能以只读方式工作。我可以读取数据但不能写入。
我还需要在其他类中更新 executionContext。有什么办法吗?
scala - Scala play Unit test controller 2.6.x - object Execution in package concurrent 已弃用:请参阅 2.6 迁移指南
尝试遵循 Scala 播放框架 2.6 版的迁移指南: https ://playframework.com/documentation/2.6.x/Highlights26
升级后我的测试失败了:
我得到:
这是我的控制器声明:
我注入的执行上下文是“executionContext:scala.concurrent.ExecutionContext”
我正在关注官方播放框架 2.6 示例,但仍然测试未编译并抛出上面的错误消息。
javascript - bind() 用于绑定到对象
我将函数绑定foo
到对象myObject
。我期待在绑定登录到控制台foo
之前调用,在绑定后登录到控制台。global
myObject
不过,在这两种情况下,输出都是全局消息。
javascript - 为什么当我执行 console.log 时,函数中的对象返回为“未定义”?(了解创建阶段、执行阶段)
我试图了解执行上下文、创建阶段和执行阶段。
我想知道,有人可以帮我理解为什么,
返回 - '未定义'。
我会认为,在创建阶段之后,当变量被分配“未定义”时,执行阶段就会运行,然后变量会被对象填充。
那么为什么我得到'object1'的'undefined',而不是整个对象呢?
非常感谢。代码如下。
scala - Scala - Play - 如何在测试中模拟 import play.api.libs.concurrent.CustomExecutionContext 并将其用作隐式参数?
我有一个测试正在测试一个需要隐式 CustomExecutionContext 的类:
现在我需要测试这个类并在测试期间注入一个模拟调度程序上下文。最初,我正在考虑使用开箱即用的标准全局执行上下文。
但是测试失败了,因为它需要另一种类型的实例:
找不到参数 ec 的隐式值:common.executor.RepositoryDispatcherContext
这是我的自定义执行上下文:
想知道如何注入我的自定义执行上下文的模拟实例以用作我的 Test 类中的隐式参数?
scala - 如何强制方法在`ExecutionContext`中运行?
如何仅从特定内部运行方法ExecutionContext
?
例如,考虑以下代码:
此代码仅在方法正确add
且subtract
仅从同一线程调用时才是正确的。有什么方法可以使这些方法始终使用特定的ExecutionContext
(如果 EC 中只有 1 个工人,这将是有意义的)?有什么简单的方法吗?
为了掌握这个问题,这里有一些示例答案:
答案 1:将所有方法的主体包装在 中Future.apply
,如下所示:
Answer2:使用一个akka
actor,将所有方法转换为传入的actor消息并使用ask模式与actor一起工作。如果你不是故意搞砸的,所有的方法都会从你的actor-s EC运行。
答案 3:也许编写一个宏函数将特征转换为其未来化版本?就像扩展这段代码一样:
对此:
现在,我认为Answer1总体上是可以的,但容易出错和一些样板。Answer2仍然需要编写样板代码,强制您创建案例类以包含函数参数,并且需要 akka。而且我没有看到任何实现Answer3。
那么......有没有简单的方法可以做到这一点?
multithreading - Scala 未来执行
我有两个未来。我想按顺序执行它们。例如:
当第一个完成时,应该执行第二个。问题是第二个不应该返回Future[Object]
所以Future[Unit]
我不能使用完成andThen
等功能我不能阻止进程使用await
或者Thread.sleep(...)
我不能使用for循环,因为执行上下文是这样定义的。
first.flatmap( _=> second)
不会按顺序执行。我怎样才能做到这一点?
deserialization - PostGreSQL JOB_EXECUTION_CONTEXT 的 Spring Batch ExecutionContext 反序列化失败
我正在尝试使用 Java 配置和 PostGreSQL 创建一个 Spring Batch POC。
我已经使用@EnableBatchProcessing 和@EnableAutoConfiguration 成功创建了本来可以通过内存数据库提供的bean。
给定从同一个 JobExplorer bean 创建的 JobInstance bean,我无法让 bean (JobExplorer) 返回 JobExecution 列表。
我得到的错误是“无法反序列化执行上下文”,这似乎来自试图反序列化 JOB_EXECUTION_CONTEXT 表的“SHORT_CONTEXT”字段的方法。
我已经通过了创建的 JobExplorer bean DefaultExecutionContextSerializer。后来当我仍然收到错误时,传递了一个将“wrapAsLob”设置为 True 的 DefaultLobHandler。
下面是我的休息控制器中的 get 方法,我正在尝试处理生成失败的作业执行列表
scala - ExecutionContext 导致 Akka 死信
出于某种原因,我必须同时使用 gRPC 和 Akka。当这个演员作为顶级演员开始时,没有任何问题(在这个小演示中)。但是当它成为子actor时,它无法接收到任何消息,并且会记录以下内容:
示例核心:
我试图创建一个新的ExecutionContext
像:
为什么会发生这种情况,我该如何调试这样的死信问题(不抛出异常)?
更新:
抱歉,我没有在这里列出所有内容。我使用普通的 Main 方法GrpcActor
作为顶级actor进行测试,使用 ScalaTest 作为子actor进行测试,这是一个错误。
正是这个空的测试套件主动关闭了整个actor系统。但问题在于这条线
停产后交货GlobalStart()
延迟。
如果没有该行,则可以在关机之前传递消息。
这是正常行为吗?
(我的猜测:碰巧GlobalStart()
在该行的关闭消息之后排队,这做了一些繁重的工作并在时间上有所不同)
scala - Scala Future 阻止转换?
我有以下测试代码片段:
它产生以下输出:
我希望andThen
回调异步执行。但实际的执行是下一个:
- 执行原来的未来
- 执行异步回调
- 运行转换 (
map
)
起初我认为问题在于ExecutionContext
决定在单线程中运行所有这些操作。我将其更改为使用 custom ExecutionContext
:
结果是一样的。你能告诉我我错过了什么吗?