ホームページ > バックエンド開発 > Golang > gocron を使用して時間単位のスケジューラを実行する

gocron を使用して時間単位のスケジューラを実行する

王林
リリース: 2024-02-10 15:20:21
転載
852 人が閲覧しました

使用 gocron 运行每小时调度程序

php Xiaobian Apple は、タスクを 1 時間ごとに実行できる強力なスケジューラである gocron を紹介します。面倒なコードを書かずにスケジュールされたタスクのスケジューリングを実装できる、シンプルで使いやすいツールです。 gocron を使用すると、1 時間ごとに実行するタスクを簡単に設定でき、データのバックアップ、ログのクリーニング、その他の重要なスケジュールされたタスクを正確かつ確実に実行できます。 gocron は使いやすいグラフィカル インターフェイスも提供しており、スケジュールされたタスクを簡単に管理および監視できます。個人の開発者であっても企業管理者であっても、gocron は不可欠なツールです。

質問内容

gocron を使用して、毎時特定の分に関数を実行するにはどうすればよいですか?

2 つのコードを試しましたが、1 つは汚れていて、もう 1 つは機能しませんでした。

ダーティコード:

リーリー

動作しないコード:

loc, _ := time.loadlocation("asia/seoul")
    s := gocron.newscheduler(loc)

    _, err = s.every(1).day().at("0:30").do(schduler)
    _, err = s.every(1).day().at("1:30").do(schduler)
    _, err = s.every(1).day().at("2:30").do(schduler)
    _, err = s.every(1).day().at("3:30").do(schduler)
    _, err = s.every(1).day().at("4:30").do(schduler)
    _, err = s.every(1).day().at("5:30").do(schduler)
    _, err = s.every(1).day().at("6:30").do(schduler)
    _, err = s.every(1).day().at("7:30").do(schduler)
    _, err = s.every(1).day().at("8:30").do(schduler)
    _, err = s.every(1).day().at("9:30").do(schduler)
    _, err = s.every(1).day().at("10:30").do(schduler)
    _, err = s.every(1).day().at("11:30").do(schduler)
    _, err = s.every(1).day().at("12:30").do(schduler)
    _, err = s.every(1).day().at("13:30").do(schduler)
    _, err = s.every(1).day().at("14:30").do(schduler)
    _, err = s.every(1).day().at("15:30").do(schduler)
    _, err = s.every(1).day().at("16:30").do(schduler)
    _, err = s.every(1).day().at("17:30").do(schduler)
    _, err = s.every(1).day().at("18:30").do(schduler)
    _, err = s.every(1).day().at("19:30").do(schduler)
    _, err = s.every(1).day().at("20:30").do(schduler)
    _, err = s.every(1).day().at("21:30").do(schduler)
    _, err = s.every(1).day().at("22:30").do(schduler)
    _, err = s.every(1).day().at("23:30").do(schduler)
    if err != nil {
        fmt.println("error scheduling task:", err)
        return
    }
    s.startasync()
ログイン後にコピー

回避策

.every(1).hour()を使用し、それを.startat()でチェーンし、Any ##を使用します。分を 30 に設定する #time.time オブジェクトが引数に設定されます。

これにより、スケジューラは

30 ごとに数分間実行されます。 リーリー

以上がgocron を使用して時間単位のスケジューラを実行するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート