当前位置: 首页 > 面试题库 >

在Gearman中安排特定日期和时间的工作

宋子辰
2023-03-14
问题内容

从我可以看到,Gearman不支持计划的作业或延迟的作业。我当时想也许可以at先将计划的作业排入队列,然后在该at时间段到期后将其添加到Gearman队列中。

at任务是持久的,因为它们以文件形式写入服务器的假脱机目录中的目录。因此,唯一的瓶颈可能是将任务添加到Gearman队列的简单脚本,因为at它无法在服务器之间分布。将其传递给Gearman来处理实际的工作意味着我可以进行适当的工作记录等。

这是解决此问题的最佳方法,您还有其他选择吗?

我选择Gearman而不是其他队列解决方案的原因是它具有PHP扩展名。

我正在编写的代码用于维护需要发送的电子邮件队列。因此,我可以指定例如要在星期五的9.50发送电子邮件到example@example.org。


问题答案:

我决定at按照我在问题中最初提出的路线去做。为此,我为at二进制文件编写了一个PHP包装程序,并在Ubuntu上对其进行了测试。如果您有兴趣,可以在github上找到它:http : //github.com/treffynnon/PHP-at-Job-Queue-
Wrapper



 类似资料:
  • 如何: 在几个月的特定日期安排工作? 大约有10天。 其次是有一个模拟cron的工具,这样你就可以传递日期/时间,工具会告诉你是否触发了cron触发器

  • WorkManager是一个库,用于对满足其约束后保证执行的工作进行排队。 因此,在查看了Constraints类之后,我还没有找到任何函数来为工作添加时间约束。例如,我希望在早上8:00AM开始执行一个工作(该工作可以是OneTimeWorkRequest或PerioadWorkRequest两种类型中的任何一种)。如何添加约束以使用WorkManager调度此工作。

  • 问题内容: 我的Java Scheduler有一个问题,我的实际需要是我必须在特定时间启动我的进程,并且我将在特定时间停止,我可以在特定时间启动我的进程,但是我不能在特定时间停止我的进程,如何指定进程在调度程序中运行多长时间(在这里我不会放),任何人对此都有建议。 问题答案: 您可以使用带有2个计划的计划,一个计划运行任务,另一个计划终止任务-参见下面的简化示例:

  • 我尝试将值插入survey.ysg表(在insert查询中使用) 错误报告:SQL错误:ORA-01843:无效月份01843。00000-“无效月份”*原因: *操作: 感谢您的任何帮助。 谢谢

  • 问题内容: 我要显示的最后5个输入的特定ID数据。我的SQL查询是 是DATETIME 它显示按日期而非时间排序的最后5个条目。然后在同一日期按字母顺序排序。 假设我在同一日期有3个条目,并带有差异时间 比方说 查询以上查询后 我得到的是 按日期排序,然后按字母顺序 我想要的是这个.. 还按日期和时间排序… 问题答案: 如果要最后5行(以升序排列),则需要一个子查询: 第10次阅读问题后,这可能是

  • 我想将时间戳转换为。 这是我到目前为止已经实现的,但是它给了我错误的月份 任何帮助将不胜感激。