代码之家  ›  专栏  ›  技术社区  ›  Treffynnon

在Gearman中为特定日期和时间安排一项工作

  •  6
  • Treffynnon  · 技术社区  · 15 年前

    从我所看到的Gearman不支持计划作业或延迟作业。我在想,也许安排好的工作可以排成队 at 时间段已过期。

    任务是持久的,因为它们作为文件写入服务器spool目录中的一个目录。因此,唯一的瓶颈可能是将任务添加到Gearman队列的简单脚本,因为 无法跨服务器分发。将它传递给Gearman来处理实际的作业意味着我可以得到正确的作业日志等。

    这是最好的方法吗?你有其他的想法吗?

    我正在编写的代码用于维护需要发送的电子邮件队列。所以我可以指定我要发送电子邮件到example@example.org比如周五9点50分。

    3 回复  |  直到 13 年前
        1
  •  2
  •   Treffynnon    14 年前

    我决定去看电影 at 并在Ubuntu上进行了测试。如果您感兴趣,可以在github上找到: http://github.com/treffynnon/PHP-at-Job-Queue-Wrapper

        2
  •  1
  •   d5ve    15 年前

    一个相当老套的解决方案,只能在每小时或每天的分辨率下很好地工作,就是让作业(函数)名称包含您希望它发送的日期。然后让工人每小时或每天从cron开始注册这些工作。

    电子邮件\u 2012-03-12 \u 09:00 电子邮件_

    正如我所说,可能可行,但相当黑客!

    更新1: gearmand database persistence 现在提到一个名为 什么时候跑步 国际的

        3
  •  0
  •   Treffynnon    12 年前

    如果你正在使用Zend。。。

    SlmQueue是一个作业队列抽象层。它允许您在Zend Framework 2应用程序中轻松使用作业队列系统。因此,它不会强制您专门使用一种类型的作业队列。您可以独立于底层系统编写代码和作业。这使得系统具有极大的灵活性和解耦性。

    https://github.com/juriansluiman/SlmQueue