問題タブ [laravel-queue]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - アプリケーション全体のスレッドを管理するために Laravel キューを使用する必要がありますか?
ユーザーの検索クエリの情報を収集するために、複数のサードパーティ API をヒットしようとしています。ヒットする API ごとにスレッドをスピンオフして、応答時間を最小限に抑えることを計画しています。また、メモリ/CPU の問題により、アプリケーションが一度に実行できるスレッドの量を制限したいと考えています。
フレームワークとして Laravel を使用しているため、Laravel キューを使用してこれを達成しようとしていましたが、Job からの応答データの取得に問題があるようです。
- laravel キューはこれに取り組む正しい方法ですか? その場合、ジョブのステータスをリッスンし、ジョブが完了したらデータを取得するにはどうすればよいですか? 仕事にクロージャーを渡すことを指し示すものがいくつか見られますが、何かがうまくいきません。
php - Laravel 5.3 キューが共有ホスティングで機能しない
私の Laravel 5.3.* アプリケーションでは、バックグラウンドでキューを実行しています。これは、私のローカル マシンでは問題なく動作します。しかし、これがサーバー上でライブになると (共有ホスティング)、まったく機能しません。
シナリオは次のとおりです。
管理者が管理者ジェネレーター フォーム データを送信しています。
データがデータベースに挿入されています。
同じことに関する電子メールを撮影します。
したがって、この機能をスムーズに動作させるために、サーバーの cPanel で cron ジョブを作成しました。
cron ジョブは次のとおりです。
そして、ここにapp/Console/Kernel.php
ファイルの内容があります
また、実行してジョブ用のデータベースも作成しました
管理者が生成/挿入されると、イベントが発生します。
これにより、提供された電子メール ID ( app/Listeners/AdministratorHasBeenGenerated/SendWelcomeEmail.php
)にウェルカム電子メールが送信されます
そして、これが.envファイルのメール構成です
エラーなどはありませんが、正しいメール ID を入力してもウェルカム メールが届きません。
更新 1: 2017 年 12 月 21 日
この問題の実際の解決策が見つからなかったため、これは単なる回避策です。私がしたことは、キューを実行するためだけに別の cron ジョブを作成したことでした..
これにより、コマンドがqueue:work
毎分 (または cPanel の [cron ジョブ] タブで設定したもの) 実行されます。
上記の解決策は正しくないと思います..修正/修正は大歓迎です。
私がどこで何をしなければならなかったかについて、誰か間違いを指摘できますか? 4時間以上経ちましたが、これに対する解決策が見つかりませんでした.
どんな助けでも大歓迎です。ありがとう。
laravel - Cronジョブを完全に実行するのに問題があります
Laravel/Lumen を使用しています。SMS を送信する簡単なジョブをセットアップしました。
コントローラーにレコードが保存されるたびに、ジョブをディスパッチします。
これで、kernel.php に次の設定ができました。
私の cPanel には、次の cron ジョブが設定されています。
上記のコマンドは、毎分実行するように設定されています。
問題 この設定がうまくいきません。Bluehost VPS では、サーバーが何度もクラッシュし、再起動を余儀なくされました。どうやらメモリを大量に消費していたようで、その理由がわかりません。サポートも役に立ちませんでした。はっきりさせておきますが、うまくいきましたが、サーバーが少なくとも 1 日に 2 回クラッシュしました。
それで、それが私のホスティングと関係があると思って、別の場所(SiteGround)で別のホスティングを購入しました。現在、cronを機能させることさえできません。cron が実行されるたびに、これが私のメールに送信されます。
今、私はこれを引き起こしているのか、それを修正する方法がわかりません。ドキュメントのすべての指示に従っていると思いますが、ここで何が間違っているのかわかりません。私は調査を行い、両方のホスティング会社のサポートに連絡しましたが、それでも...
これがサポートからの最後のメッセージでした。
cron を数回実行しようとしましたが、実行するスケジュールされたコマンドがありません。
また、制限をもう一度増やしました。スクリプトの実行に 300 秒を設定し、memory_limit を 2048MB に設定しました。
もう一度お試しください。サポートが必要な場合は、お気軽にチケットを更新してください。
ルーメンとジョブに何か問題がありますか? ここで何が起こっているのか、Laravel 5.1でコマンドを正常に実行しました。
または、cron 経由で通常の PHP を使用してこのスクリプトを実行できる、より簡単で効率的な方法がある場合は、その方法を教えてください。