検索

ホームページ  >  に質問  >  本文

php - データベース内のデータを操作するスケジュールされたタスクを実装するにはどうすればよいですか?

現在、laravel フレームワークを使用してプロジェクトを開発しています。このプロジェクトにはいくつかのデータが必要です。必要なデータは、データベース内の数十のテーブルに対して関連するクエリ、計算、処理を実行することで取得されます。データ量が多いため、会社では、スケジュールされたタスクは毎晩 に実行を開始し、すべてのデータが処理された後に終了します。これで、データベース内のデータを処理するためのメソッドをlaravelコントローラに記述できたので、このメソッドを通常のループで実行するだけで機能を実現できます。

しかし、定期的に実行する方法がわかりません。 phpのcliモードで実行されているのでしょうか?それともartisanコンソールを使って実行しますか?アドバイスをお探しですか?

PHPzPHPz2742日前1203

全員に返信(8)返信します

  • 某草草

    某草草2017-05-27 17:44:05

    crontab Linux の wget またはcurl コマンドを使用して、HTTP リクエストを通じてコン​​トローラーにアクセスします。

    返事
    0
  • PHPz

    PHPz2017-05-27 17:44:05

    1. 大量のデータの場合は、それをアプリケーション層から取り出して MySQL ストアド プロシージャまたは関数を作成しないことが最善です。 (呼び出しは mysql イベントを通じて呼び出すことができます)、この処理によりリソースが大幅に節約されます。

    2. ストアド プロシージャへの書き込み中は、Linux の crond スケジュール タスクと連携してスケジュールされた処理を行うことができます。

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-27 17:44:05

    Laravel のスケジューリングはあなたのニーズに非常によく合っていると思います。中国語のドキュメントはここにあります。
    http://d.laravel-china.org/do...

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-27 17:44:05

    Laravelにはタスクスケジュール機能がありますので、もっとドキュメントを読むことをお勧めします〜

    返事
    0
  • ringa_lee

    ringa_lee2017-05-27 17:44:05

    状況に応じて、最も簡単なのはlaravelのタスクスケジューリングです

    返事
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-27 17:44:05

    コントラブ

    返事
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-27 17:44:05

    これは会社のニーズに応じて異なりますが、運用保守がある場合は、データを操作するためのメソッドを自分で記述し、運用保守に定期的にこのメソッドを要求するスクリプトを作成させることができます。運用とメンテナンスがなく、上司がサーバーに触れさせてくれない場合は、データを操作するための PHP スクリプトを作成し、スリープとループを使用してそれを実行し、ファイルを接続に置き、ヘッダーを使用することを選択できます。リクエストリンクにアクセスする機能

    返事
    0
  • 巴扎黑

    巴扎黑2017-05-27 17:44:05

    スケジュールされたタスク用にいくつかのライブラリをお勧めします。ロードするにはコンポーザーを使用します
    Dispatcher Laravel ベースのスケジュールされたタスク管理
    swoole-crontab 2 次レベルの処理をサポートする swoole ベースのタイマー プログラム
    jobby PHP のスケジュールされたタスク マネージャー
    cronlingo crontab を人間に優しいフレーズとして表現します
    何もすることがない場合は、 awesomes にアクセスできます - php で表示します
    英語が読めない場合は、ここにバックアップがあります。ここをクリックしてジャンプすることでも表示できます

    返事
    0
  • キャンセル返事