【发布时间】:2015-03-02 07:52:25
【问题描述】:
我有 2 个任务任务 A 和任务 B 任务 A 大约完成时间为 10 秒 和任务 B 相同意味着每个任务都有一些时间限制 如果任务在时限内完成,则可以。但如果用完时间限制,则应暂停并执行第二个任务,依此类推。
我只是想任务对象应该有以下三种方法
- 运行:启动任务时
- onPause:保存进度
- onResume : 当任务恢复时,它应该如何恢复。
那么我应该如何管理任务的时间?
我正在考虑每次 onPause 调用,如果时间用完,我们会计算估计时间,然后我们将开始下一个任务,但它有一些问题,所以我想知道将这个功能添加到我的项目的更好方法 提前致谢。
abstract class Task_Worker
{
protected $task;
public $conn;
public $status;
public $action;
public $id;
public $pause_info;
public $start_time;
public $script_time;
public function __construct($task,$mysqli)
{
$this->start_time = microtime();
$this->task = $task;
$this->status = $task['task_status'];
$this->action = $task['task_action'];
$this->id = $task['task_id'];
$this->run();
}
public function response($response)
{
update("task_response='$response'","task_id=$task[id]");
}
public function onPause()
{
$string = $this->pause_info;
update("task_pause='$string'", "task_id=$task[id]");
}
// to be implemented for every task class
abstract protected function onResume();
abstract protected function run();
【问题讨论】:
-
你的任务是函数吗?你能放一个sudo代码吗
-
我们将任务创建为对象
-
raheel khan 我已经把我的任务对象抽象类
-
请让我知道@RaheelKhan 你需要什么来解决这个问题
标签: php time multitasking