82.156.100.200 默认主页 - index.html

基于AMH [lnmp] 架构为您提供快速安全高效的用户体验。
Powered by amh.sh

cmd + k: 快速剪切视频

python 统计多进程中的线程数

from fastapi import FastAPI
import psutil

app = FastAPI()

@app.get("/threads/{pid}")
def get_thread_count(pid: int):
    try:
        process = psutil.Process(pid)
        thread_count = process.num_threads()
        return {"thread_count": thread_count}
    except psutil.NoSuchProcess:
        return {"error": "Process not found"}

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)
    
# process.threads(): 返回一个包含所有线程信息的列表,每个线程都表示为一个ThreadInfo对象,其中包含线程ID、线程名称、线程状态等信息。
# process.cpu_times(): 返回一个包含CPU时间的命名元组,其中包括线程的用户模式和内核模式CPU时间。
# process.memory_info(): 返回一个包含内存信息的命名元组,其中包括线程的内存使用情况,例如虚拟内存大小、物理内存大小等。

通过接口注册定时任务

from fastapi import FastAPI
import schedule
import threading

app = FastAPI()

def job():
    print("定时任务执行中...")

def start_schedule():
    while True:
        schedule.run_pending()

@app.post("/schedule")
def register_schedule():
    schedule.every().day.at("12:00").do(job)
    return {"message": "定时任务已注册"}

@app.delete("/schedule")
def cancel_schedule():
    schedule.clear()
    return {"message": "定时任务已取消"}

if __name__ == "__main__":
    t = threading.Thread(target=start_schedule)
    t.start()
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)