初始化
This commit is contained in:
37
addons/webman/grid/Jobs/Export.php
Normal file
37
addons/webman/grid/Jobs/Export.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace addons\webman\grid\Jobs;
|
||||
|
||||
use ExAdmin\ui\Route;
|
||||
use ExAdmin\ui\support\Container;
|
||||
use ExAdmin\ui\support\Request;
|
||||
use Symfony\Component\HttpFoundation\HeaderBag;
|
||||
use Webman\RedisQueue\Consumer;
|
||||
|
||||
class Export implements Consumer
|
||||
{
|
||||
|
||||
// 要消费的队列名
|
||||
public $queue = 'ex-admin-grid-export';
|
||||
|
||||
// 连接名,对应 plugin/webman/redis-queue/redis.php 里的连接`
|
||||
public $connection = 'default';
|
||||
|
||||
|
||||
|
||||
public function consume($data)
|
||||
{
|
||||
|
||||
$data['ex_admin_queue'] = false;
|
||||
Request::init(function (\Symfony\Component\HttpFoundation\Request $q) use($data){
|
||||
$q->initialize($data,$data,[],[],[],$data['ex_admin_request']['server']);
|
||||
$q->headers = new HeaderBag($data['ex_admin_request']['header']);
|
||||
$q->setMethod($data['ex_admin_request']['method']);
|
||||
});
|
||||
$class = str_replace('-', '\\', $data['ex_admin_class']);
|
||||
Container::getInstance()
|
||||
->make(Route::class)
|
||||
->invokeMethod($class, $data['ex_admin_function'], $data)
|
||||
->jsonSerialize();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user