php - Cron 是运行计划任务的唯一方法吗?

标签 php python ruby-on-rails ruby django

cron(或其衍生产品)是运行计划编程任务的唯一方法吗?例如:

  1. 在 X 日前 3 天从客户的信用卡中扣款
  2. 从时间 x 起 6 小时发送电子邮件
  3. 每小时执行一次xyz命令

是否有任何好的资源/书籍来教授如何以干净的方式(python、ruby(或 ROR)、python)实现这些功能?

我目前的肮脏方法是让 CronTab 中的包装器脚本每分钟运行一次,以检查是否应运行某些任务。我真的不喜欢这个。我更喜欢一种可以以编程方式实现计划任务的方法。

最佳答案

对于 python 你可以使用 celery

例如每小时执行一次命令如下所示:

from celery.task.schedules import crontab
from celery.decorators import periodic_task

@periodic_task(run_every=crontab(hour=3))
def every_three_hour():
    print("This runs every three hour")

从现在开始执行三个小时后会看到:

from datetime import datetime

YourTask.apply_async(args=[some, args, here], eta=datetime.now()+datetime.timedelta(hours=3))

关于php - Cron 是运行计划任务的唯一方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16461282/

相关文章:

ruby-on-rails - 是否可以在 rails 中有多个数据库连接池进行切换?

python - 在 Python 中替换大型文本文件中的多个字符串

ruby-on-rails - 通过Rails 3.2将Elasticsearch与acts_as_paranoid gem集成

php - 使 PHP 能够读取 .css 和 .js 文件,同时保持其原始内容类型

PHP 静态与实例

python - 当键相同时,CSV 中的特定行作为字典和逻辑 - Python

python - InitFont 错误 - OpenCV 3.1 (Python)

ruby-on-rails - .../latest-specs.rb 中的无效规范缓存文件

php - 如何在日期中添加连字符(无分隔符)

php - 如何为 json_decode 的每个元素编写查询?