私はsidekiqを使用していると私はちょうどこのドキュメントを読む:Railsのdelayed_jobライブラリの#delayはどれくらい持続するのですか?
ActiveRecord
Use delay, delay_for(interval), or delay_until(time) to asynchronously execute arbitrary methods on your ActiveRecord classes.
User.delay.delete_old_users('some', 'params')
User.delay_for(2.weeks).whatever
User.delay_until(2.weeks.from_now).whatever
標準遅延がための最後のどれくらい?それとも、すぐに別のスレッドのジョブを起動しますか?
そして、あなたはこのスレッドの正確な定義は言う:
実行のスレッドが は、通常の一部であるスケジューラによって独立して管理することができ、プログラム 命令の最小配列であり、オペレーティングシステム....
より良い:
スレッドが実行されコンテキストは、すべての情報であり、CPU は命令のストリームを実行する必要があります。
書籍を読んでいて、今すぐ休憩を取るとしますが、 を停止したい場合は、停止した正確な ポイントから戻って再開したいと考えています。これを達成する1つの方法は、 にページ番号、行番号、およびワード番号を記入することです。だからあなたの実行 本を読むための文脈は、これらの3つの数字です。
ルームメイトがいて、同じテクニックを使用している場合は、使用していない間に 本を持ち帰り、 がどこで停止したのかを再読することができます。その後、それを取り戻して、 の場所から再開することができます。
スレッドは同じように機能します。 CPUは、 が同時に複数の計算を行っているという錯覚を与えています。それは各計算に少し時間を費やすことによって によってそれを行います。 には各計算の実行コンテキストがあるため、これを行うことができます。 あなたの友人と本を共有できるのと同じように、多くのタスクがCPUを共有できます。
より詳細なレベルでは、実行コンテキスト(したがってスレッド) は、CPUのレジスタの値で構成されます。
最後:スレッドはプロセスとは異なります。スレッドは のコンテキストであり、プロセスは の計算に関連するリソースの束です。プロセスは1つまたは複数のスレッドを持つことができます。