Closed yyz26371945 closed 7 years ago
3.0.0 对 task 的支持还不够好,可以通过多端口的方式进行实现。默认集成的 http 没有提供task的方式。在3.1.0 中已经支持 task,并且配置更加灵活。您可以尝试一下,目前3.1版本已经收尾阶段,提供了更多的特性和管理方式,可以在3.1分支找到。 @yyz26371945
好的,两种方法我都试试
@yyz26371945 文档中可能我写漏了,回头我补回task的使用方法。
好的,感谢~
@yyz26371945 文档已经补上TaskServer
可以查看 dobee 上的实现 0.2 分支 TaskServer 和配置文件 config
我看了下,从composer上拉下来的没有FastD\Servitization命名空间,那是3.1.0才加入的吗?
嗯嗯,该模块是3.1才加入的,目前3.1已经在最后测试阶段,已经相对稳定,如不介意,可以尝试使用。目前我们也是使用3.1进行开发
好的,我这边还没开始迁移,那我就直接用3.1的来开发,感谢哈
好的,感谢支持。欢迎建议
你好,在迁移过程中,发现新版的Task实现对这样的场景支持不太友好:有一些请求是需要走到Controller里面处理的,然后在Controller里面做一些处理后通过task投递给task进程处理,但是目前3.1-dev版本我在Controller里面没找到获取swoole server实例的方法,不知道这块怎么才能实现呢?
@yyz26371945 OK,明白你的需求。可以实现这个功能,但是我可能需要测试一下。我测试完推送代码,感谢建议
好的,感谢及时的回复,期待新版本哈
@yyz26371945 可以在控制器中通过 server()
函数获取 swoole_server
对象,然后进行操作。如:
<?php
namespace Controller;
use FastD\Http\ServerRequest;
class IndexController
{
public function welcome(ServerRequest $request)
{
server()->task('hello dobee');
return json([
'msg' => 'hello dobee',
]);
}
}
@yyz26371945 但是值得注意的是,server()
乃swoole 服务器的产品,在FPM模式下是不存在的。因此要注意使用场景。
好的,多谢给力的支持
提一个小bug哈,封装的数据库服务缺少了medoo的prefix参数支持
好咧。您要是可以的话,可以给我提PR。哈哈。我稍后就去修复。
已经提了哈~
@yyz26371945 感谢。已合并
我有个之前已经做好的API框架,是基于swoole的,其中有个api使用了task功能,会在里面做一些其它操作,然后落地为日志,供agent采集。我看了fastD,版本3.0.0,没找到合适的实现方式,请问,这个框架可以支持吗?