themeplate/process

ThemePlate 后台进程

v2.6.0 2022-05-26 01:07 UTC

This package is auto-updated.

Last update: 2024-09-29 05:55:35 UTC


README

用法

use ThemePlate\Process\Async;

// Instantiate
$background = new Async( function() {
	long_running_task();
} );

// Dispatch
$background->dispatch();

new Async( $callback_func, $callback_args )

通过非阻塞请求执行重量级一次性任务

  • $callback_func (callable)(Required) 需要异步运行的功能
  • $callback_args (array)(Optional) 传递给回调的参数。默认 null

->dispatch()

立即在后台启动进程

->then( $callback )

->catch( $callback )

链式方法以处理成功或错误

  • $callback (callable)(Optional)
use ThemePlate\Process\Tasks;

$chores = new Tasks( 'my_day' );

$chores->add( 'first_task', array( 'this', 'that' ) );
$chores->add( function() {
	another_task();
} );

new Tasks( $identifier )

  • $identifier (string)(Required) 唯一标识符

->add( $callback_func, $callback_args )

  • $callback_func (callable)(Required) 需要运行的功能
  • $callback_args (array)(Optional) 需要传递的参数。默认 null

->remove( $callback_func, $callback_args )

  • $callback_func (callable)(Required) 假定要运行的功能
  • $callback_args (array)(Optional) 传递的参数。默认 null

->clear()

删除所有当前列出的任务

->limit( $number )

  • $number (int)(Required) 每次运行的任务数

->every( $second )

  • $second (int)(Required) 运行之间的间隔

->report( $callback )

  • $callback (callable)(Required) 完成后运行

辅助方法

->get_identifier()

->dump()

->is_running()

->next_scheduled()

->has_queued()

->get_queued()