問題タブ [flush]
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 - ループ内のPHPsleep()がDBを更新しない
cronjobによって毎分起動されるphpファイルがあります。
phpファイルが起動されると、データベースの更新、スリープなどが行われます。
これは次のようにプログラムされています。
このコードを実行しても、データベースで変更が行われていることはわかりません。私が気付くもう一つのことは、私が何かをエコーアウトするとき、私はループがワンピースで終わるときに印刷されます。
[編集]flushとob_flushを使用しようとしましたが、それでも行の行が出力されませんでした[/ edit]
これらのエラーを回避するにはどうすればよいですか。データベースを更新する必要があります。
私が疑問に思っていたもう1つのことは、この種のことをログに記録するのが最善の方法です。結果をログファイルに記録できますか?
c++ - 外部プロセスでファイルが作成されたときにファイルが確実にフラッシュされるようにする(Win32)
ファイルアクティビティをディスクにフラッシュすることに関するWindowsWin32C++の質問。
ファイルを作成する外部アプリケーション(CreateProcessを使用して実行)があります。つまり、返されるときに、いくつかのコンテンツを含むファイルが作成されます。
続行する前に、プロセスで作成されたファイルが実際にディスクにフラッシュされたことを確認するにはどうすればよいですか?
これは、C ++バッファではなく、実際にディスクをフラッシュすることを意味します(FlushFileBuffersなど)。
私はファイルHANDLEにアクセスできないことを忘れないでください。もちろん、これはすべて外部プロセス内に隠されています。
私は自分のハンドルをファイルに開いてからFlushFileBuffersを使用できると思いますが、これが機能するかどうかは明らかではありません(私のハンドルには実際にフラッシュが必要なものが含まれていないため)。
最後に、これを管理者以外のユーザースペースで実行して、ボリューム全体でFlushFileBuffersを使用できないようにします。
何か案は?
更新:なぜこれが問題だと思うのですか?
私はデータバックアップアプリケーションに取り組んでいます。基本的に、説明されているようにいくつかのファイルを作成する必要があります。次に、内部DBを更新する必要があります(SQLite組み込みDBを使用)。
最近、ブルースクリーン中にデータ破損の問題が発生しました(原因はアプリとは関係ありませんでした)。
私が懸念しているのは、システムクラッシュ時のアプリケーションの整合性です。そして、はい、このアプリはデータバックアップアプリなので、私はこれを気にします。
私が懸念しているユースケースは次のとおりです。
- 小さなデータファイルは、外部プロセスを使用して作成されます。この書き込みは、OSキャッシュでディスクへの書き込みを待機しています。
- DBを更新してコミットします。これはディスクアクティビティです。この書き込みもOSキャッシュで待機しています。
- システム障害が発生します。
私が見ているように、私たちは今、潜在的な競合状態にあります。「1」がフラッシュされ、「2」がフラッシュされない場合は、問題ありません(DBトランザクションがコミットされていないため)。どちらもフラッシュされないか、両方がフラッシュされる場合は、問題ありません。
私が理解しているように、書き込みは非決定論的です。つまり、OSが「2」の前に「1」を書き込むことを保証することを私は知りません。(私が間違っている?)
したがって、「2」がフラッシュされても「1」がフラッシュされない場合は、問題が発生します。
私が観察したのは、DBが正しく更新されたが、ファイルにガベージが含まれていることでした。データの最後の3分の2はバイナリの「ゼロ」でした。さて、ブルースクリーン時にファイル部分をフラッシュしたときの様子はわかりませんが、そのように見えても驚かないでしょう。
これが原因であることを保証できますか?いいえ、これを保証することはできません。私はただ推測しています。ディスク障害またはブルースクリーンの結果として、ファイルが「自然に」破損した可能性があります。
パフォーマンスに関しては、これは私が対処できると私が信じていることです。
たとえば、SQLiteのデフォルトの動作では、トランザクションをコミットするたびに(FlushFileBuffersを使用して)完全なファイルフラッシュを実行します。これを行わないと、システムクラッシュ時に、DBが破損している可能性があることは明らかです。
また、「チェックポイント」でフラッシュするだけで、パフォーマンスの低下を軽減できると思います。たとえば、50個のファイルを書き込み、ロットをフラッシュしてからDBに書き込みます。
これがすべて問題になる可能性はどのくらいありますか?私を殴る。しかし、私のアプリはシステム障害時またはその前後にアーカイブされている可能性があるため、あなたが考える可能性が高くなります。
それが私がこれをしたくない理由を説明することを願っています。
javascript - Javascript を使用して Firefox 内のイベント スタックをフラッシュできますか?
HTML 内にタグの階層があり、そのすべてにonclick
イベント ハンドラーが含まれています。はonclick
、リーフから階層のルートを通ってイベント スタックにプッシュされます。onclick
リーフイベントにのみ応答したい。フラグを使用する代わりに、イベント スタックをフラッシュできますか?
例えば:
この関数を使用して 2.2 をクリックすると...
...'2.2' と '2' の 2 つのアラートが発生します。
「2」のアラートをなくすには、nada 関数に何を追加できますか?
java - DataOutputStream がフラッシュしない
UTF-8 文字列を C# TCP サーバーに送信する Java クライアントがあります。DataOutputStream を使用して文字列を送信しています。コードは次のようになります。
問題は、フラッシュが正しく機能していないように見えることです。互いに近い 2 つの文字列を送信すると、サーバーは両方の文字列を含むメッセージを 1 つだけ受信します。呼び出しの間に Thread.sleep(1000) を実行すると、すべてが機能しますが、これは明らかに解決策ではありません。私は何が欠けていますか?
wcf - WCFトレースのオンデマンドフラッシングを行う方法はありますか?
IIS7ログをフラッシュするコマンドがあるのと同じように:
WCFトレースログをオンデマンドでフラッシュする同様のコマンドがあるのではないかと思います。
c# - ストリームとその存続期間を理解する(フラッシュ、破棄、閉じる)
注:次の2つの質問をすでに読みました。
私はC#でコーディングしています
- ストリームを使用するほとんどすべてのコードサンプルでは、ほとんどの場合、.Dispose()、. Flush()、. Close()が呼び出されます。
- ストリームの概念では、何が達成されますか?
- 変数に保存したストリームを破棄しない場合、アプリケーションがどこかにリークしていますか?
- これらの関数のいずれかを呼び出す必要があるのはなぜですか?私はこれを行わず、それでも(明らかな破損なしに)仕事を成し遂げるコードサンプルを見てきました
私は現在、アプリケーションでクラスを構築しています。このクラスには、GetStream()
を介してストリームを返すプライマリメソッド(それを呼び出すことができます)が含まれています。myWebRequest.GetResponse().GetResponseStream()
プライマリメソッドは、ストリームを必要とするすべての操作(StreamReader、Bitmap()など)に使用できるオブジェクトをGetStream()
返します。Stream
.GetStream()
ストリームを最後に使用した後(ガベージコレクション)に、呼び出し元に手動で破棄するように強制することなく、ストリームを自動的に破棄する方法はありますか?
おそらくお分かりのように、私の質問は曖昧で一般的です。ストリームについての私の理解はしっかりしていないので、SOの質問が提供できるよりもストリームをより深く見ることができる役立つ記事へのリンクをいただければ幸いです。
nhibernate - NHibernate:挿入操作のためにflushを呼び出しているときに範囲外のインデックスを受信する
NHibernateを使用しているときに、このメッセージを解決するために1日の大半を費やしました:「インデックスは範囲外でした。負ではなく、コレクションのサイズ未満である必要があります。パラメーター名:インデックス」
私の更新と削除は問題なく機能しますが、save()の呼び出し後にフラッシュする呼び出しは機能しません。この時点で何を表示する必要があるかわからないため、すべてのコード(たくさんあります)を投稿することは役に立たないと思います。保存しようとしているデータアクセスオブジェクトは、それが役立つ場合は複合キーを使用します。また、NHibernate.Mapping.Attributesを使用してマッピングを作成しています。
スタックトレースで、NHibernateが挿入操作のために無効な数のパラメーターをADO.Netクラスに送信しようとしているようです。そうは言っても、SQLステートメントを表示するためにトレースをtrueに設定しましたが、SQLステートメントが出力に送信される前にエラーが発生するため、何をビルドしようとしているのかわかりません。
System.Collections.ArrayList.get_Item(Int32 index)at IBM.Data.DB2.iSeries.iDB2ParameterCollection.System.Collections.IList.get_Item(Int32 index)at NHibernate.Type.DecimalType.Set(IDbCommand st、Object value、Int32 index)at NHibernate.Type.NullableType.NullSafeSet(IDbCommand cmd、Object value、Int32 index)at NHibernate.Type.NullableType.NullSafeSet(IDbCommand st、Object value、Int32 index、ISessionImplementor session)at NHibernate.Type.ComponentType.NullSafeSet( IDbCommand st、Object value、Int32 begin、ISessionImplementor session)at NHibernate.Persister.Entity.AbstractEntityPersister.Dehydrate(Object id、Object [] fields、Object rowId、Boolean [] includeProperty、Boolean [] [] includeColumns、Int32 table、IDbCommand NHibernate.Persisterでのステートメント、ISessionImplementorセッション、Int32インデックス)。NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id、Object [] fields、 Object obj、ISessionImplementor session)at NHibernate.Action.EntityInsertAction.Execute()at NHibernate.Engine.ActionQueue.Execute(IExecutable execute)at NHibernate.Engine.ActionQueue.ExecuteActions(IList list)at NHibernate.Engine.ActionQueue.ExecuteActions() NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource session)at NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event)at NHibernate.Impl.SessionImpl.Flush()at WTS.Data.DB2.CGC.ProddataRepository.Insert (ProddataDAOエンティティ)C:\ Documents and Settings \ briant \ My Documents \ Visual Studio 2008 \ Projects \ WTSCGCDAL \ WTSCGCDAL \ ProddataRepository.cs:line 73 at WTS.WTSCGCAppInterface.ProductionDataUserControlBase.TestInsert()in C:\ Documents and Settings \ briant \ My Documents \ Visual Studio 2008 \ Projects \ WTSCGCAppInterface \ WTSCGCAppInterface \ ProductionDataUserControlBase.cs:line 483 at WTSCGCAppInterface.Window1.Button_Click_1(Object sender、RoutedEventArgs e)in C:\ Documents and Settings \ briant \ My Documents \ Visual Studio 2008 \ Projects \ WTSCGCAppInterface \ WTSCGCAppInterface \ Window1.xaml.cs:line 48 at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target、RoutedEventArgs routedEventArgs)at System.Windows.EventRoute.InvokeHandlersImpl(Object source、RoutedEventArgs args、Boolean reRaised)atSystem.Windows.UIElement。RaiseEventImpl(DependencyObject sender、RoutedEventArgs args)at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)at System.Windows.Controls.Primitives.ButtonBase.OnClick()at System.Windows.Controls.Button.OnClick()at System.Windows .Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender、MouseButtonEventArgs e)at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler、Object genericTarget)atSystem.Windows.RoutedEventArgs .InvokeHandler(Delegate handler、Object target)at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target、RoutedEventArgs routedEventArgs)at System.Windows.EventRoute.InvokeHandlersImpl(Object source、RoutedEventArgs args、System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender、RoutedEventArgs args、RoutedEvent newEvent)at System.Windows.UIElement.CrackMouseButtonEventAndReRaiseEvent(DependencyObject sender、MouseButtonEventArgs e)at System.Windows.UIElement.OnMouseUpThunk(Object sender、MouseButtonEventArgs e )at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler、Object genericTarget)at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler、Object target)at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target、RoutedEventArgs routedEventArgs)at System .Windows.EventRoute.InvokeHandlersImpl(Object source、RoutedEventArgs args、Boolean reRaised)at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender、RoutedEventArgs args)at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args、Boolean Trusted)at System.Windows.Input.InputManager.ProcessStagingArea()at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)at System.Windows.Input System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd、InputModeモード、Int32タイムスタンプ、RawMouseActionsアクション、Int32 x、Int32 y、Int32ホイール)の.InputProviderSite.ReportInput(InputReport inputReport)at System.Windows.Interop.HwndMouseInputProvider.FilterMessage (IntPtr hwnd、Int32 msg、IntPtr wParam、IntPtr lParam、Boolean&handled)at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd、Int32 msg、IntPtr wParam、IntPtr lParam、Boolean&handled)at MS.Win32.HwndProc. (IntPtr hwnd、Int32 msg、IntPtr wParam、IntPtr lParam、Boolean&handled)at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback、Object args、Boolean isSingleParameter)atSystem.Windows.Threading.ExceptionWrapper。 System.Windows.Threading.Dispatcher.WrappedInvoke(コールバックのデリゲート、オブジェクトargs、ブールisSingleParameter、catchHandlerのデリゲート)のTryCatchWhen(Object source、Delegate callback、Object args、Boolean isSingleParameter、Delegate catchHandler)at System.Windows.Threading.Dispatcher.InvokeImpl (DispatcherPriority priority、TimeSpan timeout、Delegate method、Object args、Boolean isSingleParameter)at System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority、Delegate method、Object arg)atMS.Win32。HwndSubclass.SubclassWndProc(IntPtr hwnd、Int32 msg、IntPtr wParam、IntPtr lParam)at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG&msg)at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)atSystem.Windows.Threading.Dis。 .PushFrame(DispatcherFrameフレーム)
System.Windows.Threading.Dispatcher.Run()at System.Windows.Application.RunDispatcher(Object ignore)at System.Windows.Application.RunInternal(Window window)at System.Windows.Application.Run(Window window)at System C:\ Documents and Settings \ briant \ My Documents \ Visual Studio 2008 \ Projects \ WTSCGCAppInterface \ WTSCGCAppInterface \ obj \ Debug \ App.g.cs:lineのWTSCGCAppInterface.App.Main()にある.Windows.Application.Run() 0 at System.AppDomain._nExecuteAssembly(Assembly assembly、String [] args)at System.AppDomain.ExecuteAssembly(String assemblyFile、Evidence assemblySecurity、String [] args)at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading .ThreadHelper.ThreadStart_Context(オブジェクトの状態)
System.Threading.ExecutionContext.Run(ExecutionContextexecutionContext、ContextCallbackコールバック、オブジェクト状態)でSystem.Threading.ThreadHelper.ThreadStart()で
c - read() なしでファイル記述子を空にするか、「フラッシュ」しますか?
(注: これはをフラッシュする方法の問題ではありません。いわば、write()
これはもう一方の端です。)
データを読み込む必要がないファイル記述子を空にすることはできますかread()
? データに興味がない場合は、すべてを読み取ると、より適切に使用できるスペースとサイクルが浪費されます。
POSIX でそれができない場合、これを行うための移植性のない方法があるオペレーティング システムはありますか?
更新:ストリームではなく、ファイル記述子について話していることに注意してください。
asp.net-mvc - フラッシュ フィルターと圧縮フィルター (ASP.NET MVC)
正常に機能する非常に一般的なコードがあります。
現在Response.Flush()
、ユーザーエクスペリエンスを向上させるために、ページの一部を配信するために使用しようとしています. このシナリオでresponse.Filter
は、各書き込み操作によって が変更されたときに、ページをすぐに配信する必要があることは明らかです。アプリケーションを中間ストリームに書き込み、それを圧縮してからプッシュする方法を教えてResponse.Filter
ください。
hibernate - hibernate session.close() がデータを自動的にフラッシュしないのはなぜですか?
hibernate がセッションを閉じるとき、close の目的は基本的に、基礎となる接続を閉じて、第 1 レベルのキャッシュをクリーンアップすることです。ここでフラッシュも自動的に行われないのはなぜですか?