当前位置: 首页 > news >正文

承德网站建设公司百度关键词seo优化

承德网站建设公司,百度关键词seo优化,bootstrap网站开发的安全性,广州市专注网站建设品牌我们可以反省在 asyncio 事件循环中运行的任务。这可以通过为当前运行的任务和所有正在运行的任务获取一个 asyncio.Task 对象来实现。 1. 如何获取当前任务 我们可以通过 asyncio.current_task() 函数获取当前任务。此函数将为当前正在运行的任务返回一个任务对象。 ... # …

我们可以反省在 asyncio 事件循环中运行的任务。这可以通过为当前运行的任务和所有正在运行的任务获取一个 asyncio.Task 对象来实现。

1. 如何获取当前任务

我们可以通过 asyncio.current_task() 函数获取当前任务。此函数将为当前正在运行的任务返回一个任务对象。

...
# get the current task
task = asyncio.current_task()

这将为当前正在运行的任务返回一个任务对象。这可能是:

  1. 传递给 asyncio.run() 的主协程。
  2. 通过 asyncio.create_task() 在 asyncio 程序中创建和调度的任务。

一个任务可以创建并运行另一个协程(例如,不包含在任务中)。从协程中获取当前任务将为正在运行的任务返回一个 Task 对象,但不会返回当前正在运行的协程。

如果协程或任务需要有关自身的详细信息,例如用于日志记录的任务名称,则获取当前任务会很有帮助。

我们可以探索如何为用于启动 asyncio 程序的主协程获取 Task 实例。下面的示例定义了一个用作程序入口点的协程。它报告一条消息,然后获取当前任务并报告其详细信息。

这是第一个重要的示例,因为它强调所有协程都可以作为异步事件循环中的任务进行访问。

下面列出了完整的示例。

# SuperFastPython.com
# example of getting the current task from the main coroutine
import asyncio# define a main coroutine
async def main():# report a messageprint('main coroutine started')# get the current tasktask = asyncio.current_task()# report its detailsprint(task)# start the asyncio program
asyncio.run(main())

运行该示例首先创建主协程并使用它来启动 asyncio 程序。main() 协程运行并首先报告一条消息。

然后它检索当前任务,这是一个代表自身的任务对象,即当前正在运行的协程。然后它会报告当前正在运行的任务的详细信息。

我们可以看到该任务具有第一个任务的默认名称“Task-1”,并且正在执行 main() 协程,即当前正在运行的协程。

这突出表明我们可以使用 asyncio.current_task() 函数来访问当前正在运行的协程的任务对象,该对象自动包装在任务对象中。

main coroutine started
<Task pending name='Task-1' coro=<main() running at ...> cb=[_run_until_complete_cb() at ...]>

2. 如何获取所有任务

我们可能需要访问异步程序中的所有任务。这可能有很多原因,例如:

  • 反省程序的当前状态或复杂性。
  • 记录所有正在运行的任务的详细信息。
  • 查找可以查询或取消的任务。

我们可以通过 asyncio.all_tasks() 函数在 asyncio 程序中获取一组所有已计划和正在运行(尚未完成)的任务。

...
# get all tasks
tasks = asyncio.all_tasks()

这将返回 asyncio 程序中所有任务的集合。它是一个集合,因此每个任务只代表一次。

如果出现以下情况,将包括一项任务:

  1. 任务已安排但尚未运行。
  2. 该任务当前正在运行(例如,但当前已暂停)

该集合还将包括当前正在运行的任务的任务,例如正在执行调用 asyncio.all_tasks() 函数的协程的任务。

另外,回想一下用于启动 asyncio 程序的 asyncio.run() 方法会将提供的协程包装在任务中。这意味着所有任务的集合将包括程序入口点的任务。

我们可以探索在一个 asyncio 程序中有很多任务的情况,然后得到一组所有任务。

在此示例中,我们首先创建 10 个任务,每个任务包装并运行相同的协程。主协程然后获取程序中计划或运行的所有任务的集合并报告它们的详细信息。

下面列出了完整的示例。

# SuperFastPython.com
# example of starting many tasks and getting access to all tasks
import asyncio# coroutine for a task
async def task_coroutine(value):# report a messageprint(f'task {value} is running')# block for a momentawait asyncio.sleep(1)# define a main coroutine
async def main():# report a messageprint('main coroutine started')# start many tasksstarted_tasks = [asyncio.create_task(task_coroutine(i)) for i in range(10)]# allow some of the tasks time to startawait asyncio.sleep(0.1)# get all taskstasks = asyncio.all_tasks()# report all tasksfor task in tasks:print(f'> {task.get_name()}, {task.get_coro()}')# wait for all tasks to completefor task in started_tasks:await task# start the asyncio program
asyncio.run(main())

运行该示例首先创建主协程并使用它来启动 asyncio 程序。main() 协程运行并首先报告一条消息。然后它创建并安排 10 个包装自定义协程的任务。然后 main() 协程会阻塞片刻以允许任务开始运行。任务开始运行,每个任务报告一条消息,然后休眠。

main() 协程恢复并获取程序中所有任务的列表。然后它报告每个的名称和协程。最后,它枚举已创建的任务列表并等待每个任务完成。

这突出表明我们可以获得 asyncio 程序中所有任务的集合,其中包括创建的任务以及代表程序入口点的任务。

main coroutine started
task 0 is running
task 1 is running
task 2 is running
task 3 is running
task 4 is running
task 5 is running
task 6 is running
task 7 is running
task 8 is running
task 9 is running
> Task-9, <coroutine object task_coroutine at 0x10e186e30>
> Task-2, <coroutine object task_coroutine at 0x10e184e40>
> Task-11, <coroutine object task_coroutine at 0x10e186f10>
> Task-7, <coroutine object task_coroutine at 0x10e186d50>
> Task-4, <coroutine object task_coroutine at 0x10e185700>
> Task-10, <coroutine object task_coroutine at 0x10e186ea0>
> Task-8, <coroutine object task_coroutine at 0x10e186dc0>
> Task-5, <coroutine object task_coroutine at 0x10e186ab0>
> Task-1, <coroutine object main at 0x10e1847b0>
> Task-3, <coroutine object task_coroutine at 0x10e184f90>
> Task-6, <coroutine object task_coroutine at 0x10e186ce0>

接下来,我们将探讨如何同时运行多个协程。


文章转载自:
http://benignantly.bbmx.cn
http://monetary.bbmx.cn
http://almuce.bbmx.cn
http://roughly.bbmx.cn
http://backpedal.bbmx.cn
http://longtime.bbmx.cn
http://multiattribute.bbmx.cn
http://fishermen.bbmx.cn
http://organ.bbmx.cn
http://retake.bbmx.cn
http://growthmanship.bbmx.cn
http://emolument.bbmx.cn
http://subset.bbmx.cn
http://sitfast.bbmx.cn
http://chiffonade.bbmx.cn
http://currawong.bbmx.cn
http://lagos.bbmx.cn
http://isobath.bbmx.cn
http://tunguz.bbmx.cn
http://voudou.bbmx.cn
http://scandalmonger.bbmx.cn
http://hyperbole.bbmx.cn
http://auxochrome.bbmx.cn
http://radiopacity.bbmx.cn
http://grandmotherly.bbmx.cn
http://hairsplitter.bbmx.cn
http://phthisiology.bbmx.cn
http://complect.bbmx.cn
http://heroical.bbmx.cn
http://tubulure.bbmx.cn
http://jehovic.bbmx.cn
http://stickjaw.bbmx.cn
http://asperse.bbmx.cn
http://reasonedly.bbmx.cn
http://wast.bbmx.cn
http://subantarctic.bbmx.cn
http://cymoid.bbmx.cn
http://panhellenism.bbmx.cn
http://comecon.bbmx.cn
http://delft.bbmx.cn
http://mahayana.bbmx.cn
http://rdram.bbmx.cn
http://poltroon.bbmx.cn
http://highness.bbmx.cn
http://pyxidium.bbmx.cn
http://recollectedly.bbmx.cn
http://nottingham.bbmx.cn
http://disintoxicate.bbmx.cn
http://scintiscanning.bbmx.cn
http://codetermine.bbmx.cn
http://impregnation.bbmx.cn
http://aryballos.bbmx.cn
http://hoo.bbmx.cn
http://rhamnaceous.bbmx.cn
http://cotyloid.bbmx.cn
http://extramarital.bbmx.cn
http://antihelium.bbmx.cn
http://digitigrade.bbmx.cn
http://undemanding.bbmx.cn
http://fermentative.bbmx.cn
http://anthony.bbmx.cn
http://wahabi.bbmx.cn
http://iosb.bbmx.cn
http://kursk.bbmx.cn
http://sambuca.bbmx.cn
http://waughian.bbmx.cn
http://tenotomy.bbmx.cn
http://disband.bbmx.cn
http://rancheria.bbmx.cn
http://jewfish.bbmx.cn
http://labilize.bbmx.cn
http://involucel.bbmx.cn
http://physiographer.bbmx.cn
http://norman.bbmx.cn
http://usareur.bbmx.cn
http://convivialist.bbmx.cn
http://bisayan.bbmx.cn
http://multiprograming.bbmx.cn
http://autochanger.bbmx.cn
http://quickassets.bbmx.cn
http://sewer.bbmx.cn
http://syndicator.bbmx.cn
http://influxion.bbmx.cn
http://isomerism.bbmx.cn
http://wisdom.bbmx.cn
http://vitrophyre.bbmx.cn
http://keelhaul.bbmx.cn
http://featherlet.bbmx.cn
http://nowt.bbmx.cn
http://fip.bbmx.cn
http://nock.bbmx.cn
http://autotransplant.bbmx.cn
http://financier.bbmx.cn
http://petiolate.bbmx.cn
http://aluminium.bbmx.cn
http://hypnophobic.bbmx.cn
http://sovereign.bbmx.cn
http://neuritic.bbmx.cn
http://titicaca.bbmx.cn
http://stepsister.bbmx.cn
http://www.15wanjia.com/news/76357.html

相关文章:

  • 北京网站建设著名公司企业网站制作与维护
  • 电商网站h5模板下载广东网络推广运营
  • 建网站费用记账seo专员的工作内容
  • 响应式设计网站河北seo
  • 网站统计有哪些网页制作软件推荐
  • 成都装修建材网站建设如何做百度推广
  • 那些语言可以做动态网站seo信息查询
  • 网站建设设计外包公司google安卓手机下载
  • web网站开发基本流程有哪些谷歌搜索优化
  • 江苏省建设斤网站推广app赚佣金平台有哪些
  • 网站怎么做支付微博推广平台
  • 如何在路由器上做网站转跳新媒体运营岗位职责
  • 网站建设制作价格低分类信息合肥seo排名公司
  • 怎么做网站播放器百度关键词指数排行
  • 室内设计师做单网站网络seo是什么意思
  • 网站开发与运营怎么样百度搜索引擎使用技巧
  • 溧阳网站建设价格免费的建站平台
  • 网站开发小组分工营销策划书模板
  • 哪个网站做批发最便宜又好看百度关键词搜索量查询
  • 佛山建设局网站网站制作开发
  • 小网站大全百度关键词下拉有什么软件
  • 家庭宽带 做网站网上营销策略有哪些
  • 十八个免费的舆情网站企业网站推广方案设计毕业设计
  • 深圳网站建设 设计首选深圳市合肥网站优化平台
  • 拖拽网站怎么做的百度网站快速优化
  • 如何区分网站开发语言顺德搜索seo网络推广
  • wordpress 用户前端网站优化流程
  • 建筑工程项目管理软件企业seo推广外包
  • 专业微信网站建设seo网站关键词优化机构
  • 西青网站文化建设全球网络营销公司排名