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

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

王林
王林転載
2024-02-10 15:20:21808ブラウズ

使用 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 までご連絡ください。