分类目录归档:开发

后台方式启动celery worker beats方式


在生产环境中,启动Celery Worker和Celery Beat通常确实是作为后台进程运行的,这样可以确保它们即使在SSH会话关闭后也能持续运行。以下是一些常用的方法来在后台启动这些进程:

  1. 使用screentmux: 这些工具允许你创建一个可断开连接的会话,即使SSH会话关闭,进程也会继续运行。

例如,使用screen

bash screen -S celery_worker celery -A your_project worker --loglevel=info

然后按Ctrl-A然后按D来断开连接。要重新连接到会话,使用:

bash screen...

Read more

WebSocket ASGI


WebSocket ASGI 是一种用于在 Python 的 ASGI(Asynchronous Server Gateway Interface)应用中处理 WebSocket 连接的规范和实现。

主要作用和特点:

  1. 实时通信:允许服务器和客户端之间建立持久的双向连接,实现实时数据传输。这对于需要实时更新的应用程序非常有用,如聊天应用、实时协作工具、在线游戏等。
  2. 异步处理:基于 ASGI 的异步特性,可以高效地处理大量并发的 WebSocket 连接,而不会阻塞服务器的其他请求处理。
  3. 与 ASGI 框架集成:可以与支持 ASGI 的 Python web 框架(如 Starlette、...

Read more

plombery-任务调度-定时任务


plombery

Plombery 是一个基于 Python 的任务调度工具,它具有以下特点和功能:

  1. Web UI 和 REST API: Plombery 提供了一个简洁易用的 Web 界面和 REST API,使得管理和监控定时执行的 Python 脚本变得简单。

  2. 任务调度: 它基于 APScheduler,支持 Interval、Cron 和 Date 触发器,可以灵活地安排任务的执行。

  3. 纯 Python 定义: 使用 Plombery,管道和任务都是在纯 Python 代码中定义的,无需编写 HTML、JS 和 CSS 代码。

  4. 参数化管道: ...

Read more

celery-flower


Flower是一个用于监控和管理Celery分布式任务队列的工具。

主要特点包括:

  • 实时监控:可以实时查看Celery任务的执行状态、进度和结果。包括任务的开始时间、结束时间、执行时长等信息。
  • 任务列表:展示正在执行、已完成和失败的任务列表。方便快速定位和查看特定任务的详细情况。
  • 工作者监控:监控Celery工作者的状态,包括连接的工作者数量、处理任务的速率、内存和CPU使用情况等。
  • 任务调度:可以查看任务的调度情况,包括定时任务和周期性任务的执行计划。
  • 远程控制:可以远程控制工作者,如重启、停止或暂停工作者。还可以手动触发任务的执行。
  • 图形化界面:提供直观的图形化界面,方便用户查看和...

Read more

django-celery-beat


django-celery-beat是一个 Django 应用程序,用于将 Celery 的定时任务存储在数据库中,并提供了一个方便的管理界面。

以下是一些关于 django-celery-beat 的特点和优势:

特点:

  1. 数据库存储定时任务:与传统的将定时任务硬编码在配置文件中不同,django-celery-beat将定时任务存储在数据库中,这使得任务的管理更加灵活和动态。可以通过 Django 的管理界面轻松地添加、修改和删除定时任务。
  2. 可视化管理界面:提供了一个直观的管理界面,方便用户查看和管理定时任务。可以查看任务的名称、执行时间、执行频率等信息,并可以手动触发任务的执行。
  3. ...

Read more

django-unfold-开源项目


django-unfold是一个用于 Django 框架的工具或插件,它可能具有以下特点和用途:

特点:

  • 模板辅助:可能提供了一些模板扩展或辅助功能,帮助开发者更高效地构建 Django 项目的用户界面。例如,可能简化了页面布局的创建、表单处理等常见任务。
  • 开发效率提升:旨在加快 Django 项目的开发速度,减少重复性的代码编写工作。通过提供可复用的组件和模式,让开发者能够更专注于业务逻辑的实现。

用途:

  • 快速搭建项目:在新的 Django 项目启动时,可以利用 django-unfold快速生成基础的页面结构和模板,为项目的后续开发奠定基础。
  • 优化用户界面:帮助开发者创建更美观...

Read more

httpx-库-Python


HTTPX 是一个基于 Python 的 HTTP 客户端库,构建在众所周知的 httpcoreh11 库之上。它旨在为 Python 中的 HTTP 请求提供简单而强大的接口。以下是如何使用 HTTPX 进行 GET 请求的基本示例:

import httpx

async def main():
    async with httpx.AsyncClient() as client:
        response = await client.get('https://example.com')
        print(f"状态码: {res...

Read more

算法刷题-心得


刷题第一阶段:我智商有问题, 第二阶段:我简历有问题,第三阶段:500道题后对技术面试信心建立了,第四阶段:开始注意行为面试问题,第五阶段:offer开始来了,第六阶段: 你开始选择公司了,第六阶段:刷题不要停,因为你随时会被解雇。

Read more