首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >铁锈: Tokio +经纱在后台运行

铁锈: Tokio +经纱在后台运行
EN

Stack Overflow用户
提问于 2021-09-17 17:13:44
回答 1查看 574关注 0票数 0

这是我最近开始研究的生锈新手。我正在尝试让rest正常工作,下面的代码对我来说很好。

MyRest.rs

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pub struct RestBro;

impl RestBro {

    pub async fn run_bro() {
        let routes_post = warp::post()
            .and(warp::path!("v1" / "homie").and_then(my_function));

        warp::serve(routes)
            .run(([127, 0, 0, 1], 3003))
            .await;    
    }

}

main.rs

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#[tokio::main]
async fn main() {
    let rb = RestBro;
    rb.run_bro().await;
}

现在的问题是,我不希望我的主程序是一个async,我只是不知道如何像上面那样无限期地运行这个run_bro()函数。我尝试过block_on,这只是阻止和等待run_bro中断,这是预期的,而当我尝试spawn时,它只是运行并退出。关于Tokio的文档使我感到困惑,这就是我在这里寻求帮助的原因。

block_on

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fn main() {
    let async_block = async {
        let rb = RestBro;
        rb.run_bro().await;
    };
    let tr = tokio::runtime::Runtime::new().unwrap();
    tr.block_on(async_block);
    println!("Everything working good!");
}

产卵

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fn main() {
    let tr = tokio::runtime::Runtime::new().unwrap();
    tr.spawn(async {
        let rb = RestBro;
        rb.run_bro().await;
    });
    println!("Everything working good!");
}

要明确的是,我的问题是如何调用异步run_bro()函数并从同步主服务器等待?提前谢谢!!

EN

回答 1

Stack Overflow用户

发布于 2021-09-18 03:47:56

需要明确的是,我的问题是如何调用异步run_bro()函数并从同步主服务器等待?

我不明白为什么要将server包装在spawn中。在您的代码中,它不能工作,因为您的主程序关闭了,而spawn也随之关闭。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fn main() {
    let tr = tokio::runtime::Runtime::new().unwrap();
    tr.spawn(async {
        let rb = RestBro;
        rb.run_bro().await;
    });
    println!("Everything working good!");
}

如果你把它改成这个,它会工作5秒。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use std::{thread, time};

fn main() {
    let tr = tokio::runtime::Runtime::new().unwrap();
    tr.spawn(async {
        let rb = RestBro;
        rb.run_bro().await;
    });
    println!("Everything working good!");
    thread::sleep(time::Duration::from_secs(5));
}

或无限期:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fn main() {
    let tr = tokio::runtime::Runtime::new().unwrap();
    tr.spawn(async {
        let rb = RestBro;
        rb.run_bro().await;
    });
    println!("Everything working good!");
    tr.join().unwrap();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69230825

复制
相关文章
php中删除html标签和标签内内容的方法
不少人去扒别人家的网站文章,我是指那种批量式采集的压根不看内容的,少不了都会用到删除 html 标签的函数,这里介绍 3 种不同用途上的方法 $str='<div><p>这里是 p 标签</p><img src="" alt="这里是 img 标签"><a href="">这里是 a 标签</a><br></div>'; 1:删除全部或者保留指定 html 标签 php 自带的函数 strip_tags 即可满足要求, 使用方法:strip_tags(string,allow); string:需要处
沈唁
2018/05/24
5.4K0
如何使用JavaScript从字符串中删除HTML标签?
我们可以使用以下示例从带有 JavaScript 的字符串中删除 HTML 标签 -
很酷的站长
2022/12/04
13K0
如何使用JavaScript从字符串中删除HTML标签?
【HTML】HTML 标签 ③ ( 文本格式化标签 | 加粗 | 斜体 | 下划线 | 删除线 | 标签属性 | 图像标签 | 图像标签属性 )
在网页中插入图片 , 使用 <img> 标签 , 该标签是单标签 , 插入语法如下 :
韩曙亮
2023/03/30
3.1K0
【HTML】HTML 标签 ③ ( 文本格式化标签 | 加粗 | 斜体 | 下划线 | 删除线 | 标签属性 | 图像标签 | 图像标签属性 )
Linux 删除文本中的重复行
这里我做了个简单的测试,当file中的重复行不再一起的时候,uniq将服务删除所有的重复行。经过排序后,所有相同的行都在相邻,因此unqi可以正常删除重复行。
阳光岛主
2019/02/19
8.7K0
从DataFrame中删除列
在操作数据的时候,DataFrame对象中删除一个或多个列是常见的操作,并且实现方法较多,然而这中间有很多细节值得关注。
老齐
2021/03/29
7.1K0
Flutter文本标签TextTagWidget,搜索记录流式布局显示文本标签
题记 —— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天。 重要消息 网易云【玩转大前端】配套课程 EDU配套 教程 Flutter开发的点滴积累系列文章 *** 1 添加依赖 flutter_tag_layout: ^0.0.3 github源码在这里 pub.flutter-io.cn最新版在这里 2 导包 在使用到文本标签的地方 import 'package:flutter_tag_layout/flutter_tag_layout.dart'; 3 标签创建文本 c
早起的年轻人
2020/06/26
1.1K0
从lvm中删除硬盘、分区
本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/article/remove_disk_from_lvm/
羽翰尘
2019/11/20
6.9K0
LyScript 从文本中读写ShellCode
LyScript 插件通过配合内存读写,可实现对特定位置的ShellCode代码的导出,或者将一段存储在文本中的ShellCode代码插入到程序堆中,此功能可用于快速将自己编写的ShellCode注入到目标进程中,以用于后续测试工作。
微软技术分享
2022/12/22
5630
LyScript 从文本中读写ShellCode
LyScript 从文本中读写ShellCode
LyScript 插件通过配合内存读写,可实现对特定位置的ShellCode代码的导出,或者将一段存储在文本中的ShellCode代码插入到程序堆中,此功能可用于快速将自己编写的ShellCode注入到目标进程中,以用于后续测试工作。
微软技术分享
2022/12/28
6130
LyScript 从文本中读写ShellCode
HTML的body标签-文本标签学习
<html> <head> <title>HTML的body标签-文本标签学习</title> <meta charset="utf-8"/> </head> <body> <!--标题标签--> <h1 align="center">今天北京天气真好,适合学习</h1> <h2>今天上海天气真好,适合学习</h2> <h3>今天成都天气真好,适合学习</h3> <h4>今天遂宁天气真好,适合学习</h4> <h5>今天郫县天气真好,适合学习</h5> <h6>今天
葆宁
2019/04/18
2.1K0
标签之美二——文本标签 原
定义字体大小:size  例如<font size="4"></font>设置其中文字字号为4。
珲少
2018/08/15
5400
标签之美二——文本标签
                                                                            原
【技术】从文本挖掘和机器学习中洞悉数据
文本挖掘分析的是包含在自然语言文本中的数据。它可以帮助企业从文本型数据中获得具有潜在价值的商业洞察力,比如Word文档、邮件或Facebook、Twitter、LinkedIn等社交媒体上的帖子。对于
小莹莹
2018/04/24
8690
【技术】从文本挖掘和机器学习中洞悉数据
HTML中的单标签和双标签
#HTML标签 刚开始学HTML发现有很多标签是只有一个<>的,比如这种。 然而也有很多是由<><>两对尖括号组成的,下面就来总结一下吧!
德勒
2021/04/15
2.8K0
【译】从文本挖掘和机器学习中洞悉数据
版权申明 作者:Murat Yazici 原文链接:http://www.ibmbigdatahub.com/b ... rning 翻译:星星 PPV课原创翻译文章,如需转载请微信留言获得授权,不得未经授权转载! 文本挖掘分析的是包含在自然语言文本中的数据。它可以帮助企业从文本型数据中获得具有潜在价值的商业洞察力,比如Word文档、邮件或Facebook、Twitter、LinkedIn等社交媒体上的帖子。对于在信息检索和自然语言处理等方面应用机器学习技术这
小莹莹
2018/04/23
7330
【译】从文本挖掘和机器学习中洞悉数据
游戏文本关键词提取工作的尝试和探索
如何将合适的游戏文本打上正确的关键词标签,并将内容推送给恰当的用户成为一个重要的课题。
腾讯知文实验室
2018/02/08
3K0
游戏文本关键词提取工作的尝试和探索
如何从文本中构建用户画像
一文告诉你什么是用户画像 介绍了到底什么是用户画像,了解了用户画像的本质是为了让机器去看之后,这里谈一谈如何从文本中构建用户画像。
abs_zero
2018/04/11
4.9K0
如何从文本中构建用户画像
如何从JavaScript对象中删除属性?
在使用 JavaScript 中的对象时,你可能会遇到需要从对象中完全删除属性的情况。为实现这一点可以有好几个选择:
疯狂的技术宅
2021/04/01
12.4K0
如何从组中删除Linux用户?
在Linux中,用户可以是一个主要组和一个或几个次要(辅助)组的成员。文件“ / etc / group”为Linux系统中的每个用户定义了组成员身份。
用户6543014
2020/04/07
19.6K0
Python - 从字典列表中删除字典
字典是python的一个非常常用的功能,用于根据用户需要在其中存储数据。另一个典型的过程涉及编辑或操作此数据。要成为一名高效且快速的程序员,您必须弄清楚如何从字典列表中删除字典。有许多技术可以从词典列表中删除字典,本文将介绍这些技术。
很酷的站长
2023/08/11
2700
Python - 从字典列表中删除字典
点击加载更多

相似问题

没有UiSlider删除十进制?

45

UISlider值和对中文本的标签

12

从标签XCode中查找和删除特定文本

23

尝试从GWT标签中获取内部文本

12

使用BeautifulSoup从文本中删除标签

289
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文