docker-compose run
有一个标志--rm
,可以在运行后自动删除容器.我想知道是否有一个与docker-compose.yml等效的配置用于特定服务,因为我在yml中获得的服务之一是一次性构建过程,它应该只输出编译文件并自行消失.
我可以生成并配置由angular cli生成的服务工作者(通过配置文件)而不会出现问题。但是,似乎没有关于如何添加自定义代码ngsw-worker.js的文档,因为我想添加诸如推送通知,发布消息等功能。想插入ngsw-worker.js
我想创建一个像带有node的foreverjs一样运行的rabbitmq cli。它可以生成 child_process 并使其在后台运行,并且可以随时与 child_process 进行通信。我面临的问题是,当主 cli 程序退出时,child_process 似乎也停止运行,我尝试使用 detached:true 和 .unref() 进行分叉,但它不起作用。即使父调用者进程退出后,如何在后台运行子进程?
cli.js - 父级
const { fork, spawn } = require('child_process');
const options = {
stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
slient:true,
detached:true
};
child = fork('./rabbit.js', [], options)
child.on('message', message => {
console.log('message from child:', message);
child.send('Hi');
// exit parent
process.exit(0);
});
child.unref()
Run Code Online (Sandbox Code Playgroud)
rabbit.js - 如果子进程启动并运行,“i”应该继续递增
var i=0;
i++;
if (process.send) {
process.send("Hello"+i);
}
process.on('message', message => {
console.log('message from parent:', message);
});
Run Code Online (Sandbox Code Playgroud) 假设我有一个如下所示的测试配置
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [SomeService]
});
injector = getTestBed()
Run Code Online (Sandbox Code Playgroud)
如果我想获得注入服务,两者之间有什么区别
TestBed.get(SomeService)
injector.get(SomeService)
Run Code Online (Sandbox Code Playgroud) 假设我有课
class Foo {
doSomething() { throw 'error'; }
doOtherthing() { throw 'error2'; }
handleError(e) {}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,是否有任何实现可以自动拦截/捕获此类中发生的任何错误并将其重定向到错误处理方法 handleError()
例如
const foo = new Foo()
foo.doSomething()
Run Code Online (Sandbox Code Playgroud)
那应该会触发 errorHandler()。Angular 有这样的实现,我不确定它是如何完成的。
javascript ×3
angular ×2
angular-cli ×1
docker ×1
forever ×1
jasmine ×1
node.js ×1
rabbitmq ×1
unit-testing ×1