問題タブ [clockwork]

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.

0 投票する
1 に答える
22 参照

ruby-on-rails - I18n と時計仕掛け

モデル メソッド「model_method」が時計仕掛けから呼び出されると、I18n.locale は常にデフォルトのロケールと等しくなります。

現在のロケールをモデル メソッドに渡すにはどうすればよいですか?

の一部clockwork.rb:

の一部book.rb:

0 投票する
0 に答える
1381 参照

php - Laravelでボトルネックを見つける方法は?

Laravel 5.2 を使用して作成された大規模なアプリケーションがあります。アプリケーションはしばらく「1 日か 2 日」正常に動作しているように見えますが、その後「各リクエスト テーブルが 15 秒以上」遅くなり始めます。

速度低下の原因を突き止めようとしています。手始めに、順番に確認する必要がある「以下」の上位 4 つのカテゴリをリストしました。

  1. SQL サーバーの問題。ロック、実行時間の長いクエリ。
  2. 長時間実行されるループのような余分な/不要な作業を引き起こす可能性のある PHP の問題
  3. メモリ リークや応答時間の遅延などの Web サーバーの問題。
  4. ネットワークの問題。

最初のカテゴリ「SQL の問題」については、すべてのクエリを評価しましたが、すべてが軽く、かなり速いようです。長時間実行されるクエリはなく、SQL ロックも見つかりません。これを可能性のある問題として排除しませんでしたが、今のところ、他の場所を探すのは公平です. アプリケーションが大量のクエリを生成していることに注意してください。これは、N+1 のケースに遭遇している可能性があることを示唆しています。

カテゴリ 3 と 4 は重要ですが、2 番目のカテゴリである「コードの問題」に焦点を当てたいと思います。コードに問題があるかどうかを判断するために、いくつかのことを理解できる必要があります。ここに私が知りたい/ログを開始したいことがいくつかあります。

  1. 各クラスの実行にかかる時間。実行に時間がかかるかどうかを確認します。
  2. N+1 ケースのソースを特定できる各クラスから生成されたすべてのクエリの数/リスト。

Google Chrome で Clockwork 拡張機能を使用しているため、ログの作成に役立ちます。しかし、クラスレベルで結果を分析することはできません。これにより、何が起こっているのかを深く理解できます。

上記の2つのアイテムをどのように集めることができますか? Clockwork にフックして、その情報をフィルターとして追加し、その情報をすべて Google 拡張機能に表示することはできますか?

0 投票する
1 に答える
724 参照

ruby-on-rails - Clockwork ジョブを手動で実行するにはどうすればよいですか?

タイトルはそれをすべて本当に言います。

Clockwork ジョブを手動で実行することはできますか? たとえば、clock.rbファイルがある場合

のようなものを呼び出せるようにしたいと思いClockwork.run('api.sync_shifts')ます。

時計仕掛けのソースを調べましたが、有用なものは何もありませんでした。明らかに、この例ではShift.syncメソッドを手動で実行できますが、そうすると、ジョブのステータスを監視するために使用している after_run/before_run コールバックが失われます。

0 投票する
1 に答える
825 参照

ruby-on-rails - Clockwork で 10 分ごとにジョブを実行する

Clockwork で 10 分ごとにジョブを実行したいのですが、00、10、20、30、40、および 50 分後に 1 時間に 6 回実行したいと考えています。

Clockwork の readmeでは、時間と分の値にワイルドカードを使用できると書かれています。

時と分のワイルドカードがサポートされています。

しかし、試しat: '**:*0'てみるとエラーが発生しました。

0 投票する
1 に答える
787 参照

ruby-on-rails - 月の初めに時計仕掛けのタスクをトリガーするには?

毎月初めにタスクを実行したいと思います。例えば:

時計仕掛けを使用してこれを行う方法は?

0 投票する
1 に答える
1099 参照

ruby-on-rails - Rails find_each が機能しない

現在、Rails アプリで時計仕掛けを介して SuckerPunch ジョブをトリガーしています。

ただし、ユーザーの検索時に実行がスタックします。Enumerator( User.find_each.inspect) をコンソールに出力すると、ユーザーが表示されます。ブロックが実行されないのはなぜですか? Rails コンテキストが欠落している可能性はありますか?

それは何時間も私を夢中にさせてきました。ところで、Herokuにデプロイしています。

編集: わかりました、エラーがあります: Primary key not included in the custom select clause.

前もって感謝します!

0 投票する
2 に答える
875 参照

ruby-on-rails - Heroku でワーカーを毎日実行するようにスケジュールした場合、ワーカーが 2 回実行されたり、スキップされたりしないようにするにはどうすればよいですか?

Heroku が少なくとも 1 日に 1 回は dyno を再起動することを考えると、Clockwork、Sidekiq、および Redis がすべて Heroku にどのように適合するかについて、私は少し混乱しています。

1 日に 1 回実行されるワーカーがあるとします。そのため、次のように構成されconfig/clock.rbています。

このワーカーでは、アカウントを作成したが 2 日以内に確認していないすべてのユーザーを取得し、各ユーザーに確認メールを再送信します。

誰かが月曜日にサインアップし、このジョブが水曜日に実行され、彼らを見つけて、2 番目の確認メールを送信するとします。その後、何らかの理由で dyno が再起動され、ジョブが再び実行されます。彼らはさらに別の電子メールを受け取ります。または、ジョブの実行が必要になる直前に再起動が行われた場合、何も得られません。

Heroku dyno での「寿命」を考えると、Clockwork には 24 時間より長いジョブの概念があるのはなぜですか? この種のものをデータベースに常に保存することなく、この制限を簡単に管理する方法はありますか?