企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 定时任务 如果我们开发的`FastAdmin`应用插件有定时任务的需求,可以参考以下方式来实现。 我们可以直接在插件控制器目录`addons/mydemo/controller`创建一个控制器`Autotask.php`,代码如下: ~~~php <?php namespace addons\mydemo\controller; use think\Config; use think\Db; /** * 定时任务 */ class Autotask extends \think\addons\Controller { protected $noNeedLogin = ["*"]; protected $layout = ''; public function _initialize() { parent::_initialize(); if (!$this->request->isCli()) { $this->error('只允许在终端进行操作!'); } } /** * 定时任务逻辑 */ public function index() { //这里编写我们的定时任务逻辑 echo "done"; return; } } ~~~ 然后我们在`crontab -e`中使用 ~~~bash # 表示一分钟请求调用一次/addons/mydemo/autotask/index 接口 * * * * * sudo -u www /usr/bin/php /www/yoursite/public/index.php /addons/mydemo/autotask/index > /dev/null 2>&1 & ~~~ 如果我们在`Windows`环境下需要使用定时任务进行测试,建议安装使用宝塔面板,然后在宝塔面板中的计划任务中添加一条自定义`Shell脚本`,脚本内容为: ~~~bash C:\BtSoft\php\72\php.exe C:\wwwroot\www.fa.com\public\index.php /addons/mydemo/autotask/index ~~~ 请注意将其中的`C:\BtSoft\php\72\php.exe`修改为你使用的`PHP`版本的正确路径,`C:\wwwroot\www.fa.com\public\index.php`修改为你使用的网站`index.php`的正确路径。