2017-06-28 8 views
1

私はバックエンド開発にswiftを使用しています。例の下に示されているように私は、タスクの実行前に、サーバー・プロセスがクラッシュした場合、サーバー上のサーバサイドのスウィフト - ディスパッチキュー

let queue = DispatchQueue(label: "com.sample.dispatchQueue") 
queue.asyncAfter(deadline:.now()+300.0, execute: workItem) 

を特定のタスクをスケジュールし、タスクが実行され、まだキューを派遣する派遣のでしょうか?

+5

いいえ、明らかに、プログラムが終了した場合はクラッシュしません。 – luk2302

+0

@ luk2302このケースを処理する方法はありますか? –

+0

??? "..この事件を処理する?"あなたの必要条件は何ですか? – user3441734

答えて

1

おそらくDispatchQueueは別のプロセスで実行されるミドルウェアだと考えているかもしれません。 DispatchQueueは残りのアプリケーションと同じプロセスで実行されるため、サーバープロセスがクラッシュした場合、クラッシュします。この問題を回避するには、別のプロセスで実行される独自のキューを構築するか、キューイング/メッセージングのために共有バックエンドを使用するか、SwiftQのようなパッケージを使用します。

関連する問題