小编rol*_*lls的帖子

如何在docker ubuntu base上启动cron?

我已经安装了cron via apt-get install cron

由于upstart没有运行,试图启动cron失败(如预期).

正确启动cron的命令行是什么(即它将读取用户的crontabs,将读取/ etc/crontab/*等)?

请注意,我不想将容器作为"完整"机器启动,所以我不想运行/sbin/initupstart.我通过管理进程supervisord,所以我缺少的是添加到其配置文件的命令行.

ubuntu cron ubuntu-12.04 docker

35
推荐指数
2
解决办法
3万
查看次数

`RefCell<std::string::String>` 无法在线程之间安全共享?

这是如何在 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 …

rust hyper

10
推荐指数
2
解决办法
8373
查看次数

ES7异步/等待概念问题

我正在迁移现有的程序以使用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)

javascript node.js bluebird ecmascript-7

7
推荐指数
1
解决办法
396
查看次数

我可以更好地咖喱吗?

我使用这个片段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.betavalueOfArrayInArray

javascript functional-programming currying ramda.js

5
推荐指数
1
解决办法
274
查看次数

Arangodb AQL过滤器不是IN集合,非常慢

我想找到没有个人资料的用户组.

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)

arangodb aql

4
推荐指数
1
解决办法
710
查看次数

这是哪个 Rust 结构?

我确定那里有一些东西,但我错过了它的关键字:)

我想要一个Vec(或其他一些使用堆的类似结构)只能保存 N 个值,但具有以下扭曲:

如果容量已满,下一个.push()将删除第一个值。因此,结构将保持完整,但最新推送的值位于底部。

我可以 DIY 它,但我是 Rust 的新手,所以我担心我的实现既不高效也不优雅。

谢谢!

rust

0
推荐指数
1
解决办法
92
查看次数