在 Golang 中進行「任務排程」,像用 Laravel 一樣絲滑

Bowens發表於2022-04-25

Laravel 中的「任務排程」

class Kernel extends ConsoleKernel
{
    protected function schedule(Schedule $schedule)
    {
        $schedule->call(function () {
            DB::table('recent_users')->delete();
        )}->daily();

        $schedule->command('emails:send name')->daily();
    }
}

Goravel 中的「任務排程」

type Kernel struct {
}

func (kernel Kernel) Schedule() []*support.Event {
    return []*support.Event{
        facades.Schedule.Call(func() {
            facades.DB.Where("1 = 1").Delete(&models.User{})
        }).Daily(),

        facades.Schedule.Command("emails:send name").Daily(),
    }
}

func (kernel Kernel) Commands() []console.Command {
    return []console.Command{
        &commands.SendEmails{},
    }
}

實現了 Laravel 中大部分的實用方法,持續更新中, 歡迎 star 與 issues。

關於 Goravel

Goravel 是一個功能完備、具有良好擴充套件能力的 Web 應用程式框架。 作為一個起始腳手架幫助 Golang 開發者快速構建自己的應用。

專案地址:github.com/goravel/goravel

文件地址:www.goravel.dev

0DkNTwOZmj.png!large

本作品採用《CC 協議》,轉載必須註明作者和本文連結
唯有所執,方有所成。

相關文章