jamm / tasks
管理PHP脚本中延迟执行任务的简单方法
dev-master
2013-08-12 10:46 UTC
Requires
- php: >=5.3.0
Suggests
- jamm/memory: allows store tasks in memory (Redis, Memcached, APC)
- jamm/tester: allows run unit-tests
This package is not auto-updated.
Last update: 2024-09-14 13:23:18 UTC
README
##适用场景 可以用于执行延迟任务 - 需要长时间执行且执行结果不必要生成请求脚本输出的任务。
例如,可以用来发送邮件、执行长期数据库查询、检查某些信息(IP whois数据)、延迟与远程API协作。
##使用方法 Tasks 是构建任务处理器的基类。
任务处理器是类,用于存储任务(当从脚本中调用时)和执行恢复的任务(当从cron脚本中调用时)。
请参阅任务处理器的示例 MailDelayed.php
要执行任务,应调用 \Tasks\Executor,这通常是cron的工作 - 例如,请参阅 tasks_cron.php。
##示例 ###创建Task类请参阅 MailDelayed.php
###使用Task类
$taskStorage = new MemStorage(new \Jamm\Memory\RedisObject('tasks'));
$mailer = new MailDelayed($taskStorage);
$mailer->Send('to@example.com', 'Re: Hello', 'Hi, To!', 3);
##要求 ###PHP版本:5.3+
###存储任务到内存中:任何实现 Jamm\Memory\IMemoryStorage 的对象。例如,Jamm\Memory\RedisObject
###文件存储不需要任何外部类
待办事项
- 跟踪任务执行结果
- 自动重复任务