【问题标题】:delayed_job like queue for pythondelay_job 类似于 python 的队列
【发布时间】:2011-07-06 23:02:57
【问题描述】:

我需要一个队列来将数据从 ruby​​ 发送到 python

该系统是一个具有 Ruby 前端和 python 后端的应用程序,我宁愿不添加另一个复杂的部分。如果只是 ruby​​,我会选择 delay_job,但 ruby​​->python 更难。

所以

我正在为 python 寻找一个基于简单数据库的队列(类似于 delay_job),我打算为其破解一个 ruby​​ 'producer' 部分。

或者只是用我还没有想到的解决方案让我感到惊讶。

【问题讨论】:

  • 对于像 RabbitMQ 这样具有原生 Ruby 和原生 Python 驱动程序的真实消息队列,您有什么看法?
  • RabbitMQ 会很好,或者只是在 MySQL 或 Postgres DB 中创建一个队列。
  • “在 MySQL 或 Postgres DB 中创建队列”通常不像使用消息队列那么简单。
  • 我并不反对真正的队列,只是我认为我现在不需要任何复杂的东西。安装和管理 RabbitMQ 确实需要时间(所有服务器和开发人员机器都在 2 个操作系统上),我喜欢基于 db 的解决方案的简单性,比如delayed_job。对于 ruby​​ 有几个这样的解决方案,我正在寻找类似的 python。

标签: python ruby queue message-queue


【解决方案1】:

也许你可以看看Celery。

【讨论】:

  • 看了一下,但看起来不是很简单;)多个后端和东西。
【解决方案2】:

相当老的问题,但只适合现在偶然发现这个问题并寻找一个不是 Celery 的简单答案的人:

django-background-tasks 是基于 Ruby 的 DelayedJob。

Django 后台任务是 Django 的数据库支持的工作队列, 松散地基于 Ruby 的 DelayedJob 库。这个项目是 采用并改编自此 repo。

为了避免 PyPI 上的冲突,我们将其重命名为 django-background-tasks (复数)。为了从 django-background-task 轻松升级到 django-background-tasks,内部模块结构被留下 原封不动。

在 Django 后台任务中,所有任务都实现为函数(或 任何其他可调用的)。

使用后台任务分为两部分:

creating the task functions and registering them with the scheduler
setup a cron task (or long running process) to execute the tasks

【讨论】:

    猜你喜欢
    • 2014-08-21
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    相关资源
    最近更新 更多