我已经安装了cron via apt-get install cron
由于upstart
没有运行,试图启动cron失败(如预期).
正确启动cron的命令行是什么(即它将读取用户的crontabs,将读取/ etc/crontab/*等)?
请注意,我不想将容器作为"完整"机器启动,所以我不想运行/sbin/init
或upstart
.我通过管理进程supervisord
,所以我缺少的是添加到其配置文件的命令行.
这是如何在 Rust 中的闭包内重用外部作用域中的值的延续?,为了更好的呈现,开通了新的Q。
// main.rs
// The value will be modified eventually inside `main`
// and a http request should respond with whatever "current" value it holds.
let mut test_for_closure :Arc<RefCell<String>> = Arc::new(RefCell::from("Foo".to_string()));
// ...
// Handler for HTTP requests
// From https://docs.rs/hyper/0.14.8/hyper/service/fn.service_fn.html
let make_svc = make_service_fn(|_conn| async {
Ok::<_, Infallible>(service_fn(|req: Request<Body>| async move {
if req.version() == Version::HTTP_11 {
let foo:String = *test_for_closure.borrow();
Ok(Response::new(Body::from(foo.as_str())))
} else {
Err("not HTTP/1.1, abort connection")
}
}))
});
Run Code Online (Sandbox Code Playgroud)
不幸的是,我得到RefCell<std::string::String> cannot be …
我正在迁移现有的程序以使用async
/ await
(via Babel
's bluebirdCoroutines
)来学习这种风格.我一直在看这个教程.
我对以下行为感到有点困扰.此代码段按预期工作:
let parts = [];
let urlsP = urls.map((url, index) => {
return dlPart(url, index, tempDir);
});
for (let urlP of urlsP) { // Parallel (yay!)
parts.push(await urlP);
}
for (let part of parts) { // Sequential
await appendFile(leFile, part);
}
Run Code Online (Sandbox Code Playgroud)
重写如下,它仍然有效,但第一次操作不再平行(完成需要更长的时间)!
let index = 0;
let parts = [];
for (let url of urls) { // NOT Parallel any more!!!
index++;
parts.push(await dlPart(url, index, tempDir));
}
for (let …
Run Code Online (Sandbox Code Playgroud) 我使用这个片段ramda
来检查数组B中是否存在数组A的任何值,假设它们是平面数组.
var hasAtLeastOneTruthValue = ramda.contains(true);
var alpha = [1,2,3]
var beta = [4,1,7];
var valueOfArrayInArray = ramda.map(function(a_v){
return ramda.contains(a_v, beta);
});
console.log(hasAtLeastOneTruthValue(valueOfArrayInArray(alpha)));
Run Code Online (Sandbox Code Playgroud)
我不喜欢的是内部硬编码 .它可以以不同的方式完成,所以它不是吗?请注意,我不是在寻找具有相同效果的完全不同的实现,而只是在这种情况下更好地理解currying.beta
valueOfArrayInArray
我想找到没有个人资料的用户组.
ArangoDB 2.4.3
LENGTH(users) -> 130k
LENGTH(profiles) -> 110k
users.userId -> unique hash index
profiles.userId -> unique hash index
Run Code Online (Sandbox Code Playgroud)
我制作的AQL片段比夏季中期穿越大峡谷的蜗牛要慢.
LET usersWithProfiles = ( /* This part is ok */
FOR i IN users
FOR j IN profiles
FILTER i.userId == j.userId
RETURN i
)
LET usersWithoutProfiles = ( /* This is not */
FOR i IN usersWithProfiles
FILTER i NOT IN users
RETURN i
)
RETURN LENGTH(usersWithoutProfiles)
Run Code Online (Sandbox Code Playgroud)
我很确定有一种完全正确的做法,但是我很想念它.有任何想法吗?
编辑1(在@dothebart的回复之后):
这是新查询,但仍然很慢
LET userIds_usersWithProfile = (
FOR i …
Run Code Online (Sandbox Code Playgroud) 我确定那里有一些东西,但我错过了它的关键字:)
我想要一个Vec
(或其他一些使用堆的类似结构)只能保存 N 个值,但具有以下扭曲:
如果容量已满,下一个.push()
将删除第一个值。因此,结构将保持完整,但最新推送的值位于底部。
我可以 DIY 它,但我是 Rust 的新手,所以我担心我的实现既不高效也不优雅。
谢谢!
javascript ×2
rust ×2
aql ×1
arangodb ×1
bluebird ×1
cron ×1
currying ×1
docker ×1
ecmascript-7 ×1
hyper ×1
node.js ×1
ramda.js ×1
ubuntu ×1
ubuntu-12.04 ×1