我有一个nestjs暴露一些 RESTAPI的应用程序。其中一个APIs 触发处理某些任务的作业。问题在于,当作业被触发时,应用程序停止服务 REST 请求,这会导致负载均衡器的运行状况检查失败。我按照自述文件末尾给出的方法启动一个单独的子进程来处理作业。但是,该作业不会在子进程中启动,并且API请求会停止。
这是我的工作:
import {
BullQueueEvents,
OnQueueActive,
OnQueueEvent,
Process,
Processor,
} from 'nest-bull';
import { Job } from 'bull';
import { Logger } from '@nestjs/common';
import { AService } from './a-service';
import { AJobInterface } from '../AJobInterface';
@Processor({ name: 'a_queue' })
export class AJob {
private readonly logger = new Logger('AQueue');
constructor(private readonly service: AService) {}
@Process({
name: 'app',
concurrency: 1
})
processApp(job: Job<AJobInterface>) {
console.log('CHILD: ', …Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用 jenkins 为我的 ECS 集群设置 CI/CD。我按照这个博客做了同样的事情。但我收到这个错误:
调用 UpdateService 操作时发生错误 (InvalidParameterException):修订号无效。数量:49
用于更新服务的命令是:
aws ecs update-service --cluster ${CLUSTER_NAME} --service ${SERVICE_NAME} --task-definition ${TASK_FAMILY}:${TASK_REVISION} --desired-count ${DESIRED_COUNT}
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,如果我从 cli 运行命令并输入所有值,它会成功运行。我不确定该命令有什么问题。
编辑1:该修订存在于 AWS 的任务定义中。我可以从 AWS 控制台看到该特定修订。正如我已经提到的,该命令使用该特定修订版从 cli 成功运行。
编辑2:我可以使用列出任务定义aws ecs list-task-definitions,并且在列表中看到该特定任务定义,但我无法使用 ${TASK_FAMILY}:${TASK_REVISION} 描述该任务定义。它给了我同样的错误。
给定矩阵M的整数.检查矩阵中两行是否相同.给出最佳方法.
Example:
[{1, 2, 3},
{3, 4, 5},
{1, 2, 3}]
Run Code Online (Sandbox Code Playgroud)
在上面的矩阵中,第1行和第3行是相同的.
可能解决方案
Given a matrix, we can convert each row in a string (example using to_string()
method of C++ and concatenating each element in a row to a string). We do this
for every row of the matrix, and insert it in a table that is something like
(map<string, int> in C++). And hence, duplicate row can be checked in O(mn) time
for an mxn matrix.
Run Code Online (Sandbox Code Playgroud)
我能做得比这更好吗?或者,上面的方法有什么缺陷?
我试图在SPOJ上解决这个问题:http: //www.spoj.com/problems/DQUERY/
但经过几个小时的尝试解决后,我搜索了一个可能的提示.我找到了一种方法:http : //apps.topcoder.com/forums/;jsessionid=5A69961AF7DF7FBB00FDFE13B80B5D2E?module=Thread&threadID=627423&start=0&mc=13
但我无法正确理解它.任何人都可以帮助我理解这种方法.
我在 Rails 5.2.0 上。我正在使用以下代码实现引导日期时间选择器:
<div class="form-group">
<div class='input-group date' id='datetimepicker1' data-target-input='nearest'>
<input type='text' class="form-control datetimepicker-input" data-target="#datetimepicker1" name="params['start_time']" />
<div class="input-group-append" data-target="#datetimepicker1" data-toggle="datetimepicker">
<div class="input-group-text"><i class="fa fa-calendar"></i></div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
宝石档案:
gem 'momentjs-rails', '~> 2.20', '>= 2.20.1'
gem 'bootstrap', '~> 4.1.1'
gem 'bootstrap4-datetime-picker-rails'
gem 'jquery-rails'
Run Code Online (Sandbox Code Playgroud)
应用程序.js
//= require jquery3
//= require jquery_ujs
//= require turbolinks
//= require popper
//= require moment
//= require bootstrap
//= require tempusdominus-bootstrap-4.js
//= require_tree .
Run Code Online (Sandbox Code Playgroud)
应用程序.scss
@import "bootstrap";
@import "tempusdominus-bootstrap-4.css";
Run Code Online (Sandbox Code Playgroud)
我遇到了一个问题,即日期时间选择器的页面上没有显示任何图标。 
附上截图供参考。任何人都可以指出这里的任何错误吗?
提前致谢。
javascript css ruby-on-rails datetimepicker twitter-bootstrap
为了从清单 v2 中的选项卡捕获输出音频流,可以chrome.tabCapture.capture在后台脚本中使用 API 来获取流。但是,在清单 v3 中,tabCapture 已移至前台,并且在后台脚本中不可用。它在内容脚本中都不可用。
在尝试了一些事情之后,我终于可以tabCapture在弹出脚本中工作了。但是,在我的用例中,弹出窗口无法长时间保持打开状态以捕获流。相反,我偶然发现了它给我一个streamIdgetMediaStreamId的方法。tabCapture所以,我想出了这个:
chrome.tabs.query({
active: true,
currentWindow: true
}, (tabs) => {
var tab = tabs[0];
chrome.tabCapture.getMediaStreamId({consumerTabId: tab.id}, (streamId) => {
chrome.tabs.sendMessage(tab.id, { action: 'streamId', streamId: streamId });
});
});Run Code Online (Sandbox Code Playgroud)
在文件中存在的上述脚本中popup.js,获取streamId后,我将其发送到内容脚本。我一直专注于如何从该streamId 创建流,以便可以捕获/记录该流。文档提到了使用,getUserMedia()但我在那里并不幸运。这是我可以通过其他问题的一些帮助想出的(但它不起作用,我收到此错误DOMException: Error starting tab capture):
navigator.mediaDevices.getUserMedia({
audio: {
mandatory: {
chromeMediaSource: 'tab',
chromeMediaSourceId: streamId
}
}
})Run Code Online (Sandbox Code Playgroud)
我试图找出如何使 tabCapture 在清单 v3 中工作。
javascript google-chrome-extension getusermedia mediadevices chrome-extension-manifest-v3
我有一个questions用这样的文档命名的集合:
{
"formats": [
{
"language_id": 1,
"text": "question text1"
},
{
"language_id": 2,
"text": "question text 2"
}
],
"qid": "HQSRFA3T"
}
Run Code Online (Sandbox Code Playgroud)
我想写一个查询,如果特定language_id的不存在,那么language_id默认情况下应该返回 1 。
到目前为止,我已经尝试了两个查询:
db.questions.aggregate([
{
$match: {
'qid': 'HQSRFA3T'
}
},
{
$project: {
formats: {
$ifNull: [
{ $filter: { input: '$formats', as: 'format', cond: {$eq: ['$$format.language_id', 3]}} },
{ $filter: { input: '$formats', as: 'format', cond: {$eq: ['$$format.language_id', 1]}} }
]
},
_id: 0
}
}
])
Run Code Online (Sandbox Code Playgroud)
这个查询的结果是这样的: …
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
password: string;
}
Run Code Online (Sandbox Code Playgroud)
我在这里不需要密码,因为我想返回客户端:
const user = await User.find({where:{name:"test"}})
Run Code Online (Sandbox Code Playgroud)
当我想修改密码时我需要密码:
const user = await User.findOne({where:{name:"test"}})
user.password="password";
await user.save()
Run Code Online (Sandbox Code Playgroud)
有 Find、FindAndCount 甚至 FindOne 方法的解决方案吗?
我应该怎么做?
algorithm ×2
javascript ×2
nestjs ×2
node.js ×2
typescript ×2
amazon-ecs ×1
arrays ×1
bull.js ×1
chrome-extension-manifest-v3 ×1
css ×1
deployment ×1
docker ×1
getusermedia ×1
jenkins ×1
matrix ×1
mediadevices ×1
mongodb ×1
postgresql ×1
typeorm ×1