タグ付けされた質問 「scheduled-tasks」

スケジュールされたタスクは、特定の時間に発生するようにスケジュールされ、繰り返される可能性があるコンピュータタスクです。

5
Androidでの定期的なタスクのスケジュール
アプリがフォアグラウンドにある限り、専用サーバーにプレゼンスを送信するという定期的なタスクを持つアプリを設計しています。 Webでの検索で、いくつかの異なるアプローチを見つけ、これを行うための最良の方法を知りたいと思いました。 サーバー呼び出しをスケジュールする最良の方法は何ですか? 私が見たオプションは: タイマー。 ScheduledThreadPoolExecutor。 サービス。 BroadcastRecieverとAlarmManager。 あなたの意見は何ですか? 編集: これが必要な理由は、すべてのユーザーアクションをリモートサーバーに送信するチャットベースのアプリのためです。つまり、ユーザーがメッセージを入力している、ユーザーがメッセージを読んでいる、ユーザーがオンラインである、ユーザーがオフラインである、などです。 これは、間隔ごとに1回サーバーに送信する必要があることを意味します。私は他の人とチャットルームを開いているので、彼らは私が何をしているのかを知る必要があります。 whatsappメッセージフィードバックメカニズムと同様: 編集#2: AndroidトレーニングのVitalsセクションで読むことができるバッテリーの消耗の問題を防ぐために 、JobSchedulerAPI を介して(またはFirebaseJobDispatcherより低いAPIの場合)定期的なタスクをほぼ常にスケジュールする必要があります 編集#3: FirebaseJobDispatcherは非推奨になり、WorkSchedulerの機能も組み込んだWorkmanagerに置き換えられました。

7
scheduleAtFixedRateとscheduleWithFixedDelay
主な違いは何だscheduleAtFixedRateとscheduleWithFixedDelayの方法ScheduledExecutorServiceは? scheduler.scheduleAtFixedRate(new Runnable() { @Override public void run() { System.out.println("scheduleAtFixedRate: " + new Date()); } }, 1, 3L , SECONDS); scheduler.scheduleWithFixedDelay(new Runnable() { @Override public void run() { System.out.println("scheduleWithFixedDelay: " + new Date()); } }, 1, 3L , SECONDS); それらは正確に同じ時間に印刷され、それらは正確に同じ間隔で実行されるようです。



13
Linuxのcronジョブを「Amazonの方法」に変換する方法は?
良くも悪くも、LAMP Webアプリケーション全体を専用マシンからクラウド(Amazon EC2マシン)に移行しました。これまでのところ順調ですが、cronの実行方法は最適ではありません。「Amazonの方法」を使用してクラウドでcronジョブを最適に管理する方法について、Amazon固有の質問があります。 問題:複数のウェブサーバーがあり、RSSフィードの作成、メールのトリガーなど、実際にはさまざまなことを行うために、cronジョブを実行する必要があります。ただし、cronジョブはデータベースに頻繁に書き込み、複数のマシンで実行すると結果が重複するため、1つのマシンでのみ実行する必要があります。 これまでのところ、1つのWebサーバーを「マスターWebサーバー」として指定しており、他のWebサーバーにはない「特別な」タスクがいくつかあります。クラウドコンピューティングのトレードオフは信頼性です。「マスターWebサーバー」は単一障害点であるため、必要ありません。これらはすべて同じであり、マスターWebサーバーをクラスターから削除しないことを忘れずにアップスケールおよびダウンスケールできるようにしたいと考えています。 アプリケーションを再設計して、Linux cronジョブを単一障害点のない一時的な作業項目に変換するにはどうすればよいですか? これまでの私の考え: 実行中のcronのみに専用のマシンを用意します。これはもう少し管理しやすくなりますが、それでも単一障害点であり、余分なインスタンスを使用していくらかのお金を浪費します。 一部のジョブはLinux cronからMySQLイベントに移動される可能性がありますが、アプリケーションロジックをデータベースレイヤーに配置したくないので、このアイデアの大ファンではありません。 おそらく、すべてのマシンですべてのcronを実行できますが、すべてのcronスクリプトを変更して、ロックメカニズムを実装する少しのロジックですべてを開始し、1つのサーバーだけが実際にアクションを実行し、他のサーバーはスキップするだけです。バギーに聞こえる可能性があるので、私はこのアイデアのファンではありません。自分でロールするのではなく、Amazonのベストプラクティスを使用したいと思います。 ジョブがどこかにスケジュールされ、キューに追加されて、Webサーバーがそれぞれワーカーになる可能性がある状況を想像しています。Amazon Simple Workflow Serviceはまさにこの種のことのように聞こえますが、私は現在それについて多くを知らないので、具体的なものが役立つでしょう。それは、cronのような単純なものにとっては重いもののように思えますか?それは適切なサービスですか、それともより適切なAmazonサービスがありますか? 更新:質問をして以来、YouTubeでAmazon Simple Workflow Serviceのウェビナーを見て、34 : 40(http://www.youtube.com/watch?v=lBUQiek8Jqk#t=34m40s)で気づいたので、サンプルアプリケーションとしてcronジョブに言及しているスライド。ドキュメントページの「Amazon SWFのAWS Flow Frameworkサンプル」で、Amazonはcronのサンプルコードがあると述べています。 ... > cronジョブこのサンプルでは、​​長時間実行されるワークフローが定期的にアクティビティを実行します。実行を非常に長期間実行できるように、新しい実行として実行を継続する機能が示されています。... AWS SDK for Java(http://aws.amazon.com/sdkforjava/)をダウンロードしましたが、とんでもないフォルダーのレイヤー内にいくつかのJavaコード(aws-java-sdk-1.3.6/samples/AwsFlowFramework/src/com/amazonaws/services/simpleworkflow/flow/examples/periodicworkflow)があることを確認してください。 問題は、正直に言って、スキルセットで簡単に消化できるものではないため、これは本当に役に立たないということです。同じサンプルがPHP SDKから欠落しており、プロセスをウォークスルーするチュートリアルがないようです。基本的に、私はまだアドバイスやヒントを探しています。

2
CeleryとRQを使用する場合の長所と短所[終了]
休業。この質問はもっと焦点を合わせる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3年前休業。 この質問を改善する 現在私はいくつかのバックグラウンドジョブの実装を必要とするPythonプロジェクトに取り組んでいます(主に電子メールの送信と大量のデータベース更新のため)。タスクブローカーにはRedisを使用しています。したがって、この時点では、CeleryとRQの 2つの候補があります。これらのジョブキューについてはある程度の経験がありましたが、このツールを使用した経験を共有してください。そう。 CeleryとRQを使用する場合の長所と短所。 CeleryとRQの使用に適したプロジェクト/タスクの例。 セロリはかなり複雑に見えますが、フル機能のソリューションです。実際、私はこれらすべての機能が必要だとは思いません。反対側から見ると、RQは非常に単純です(たとえば、構成、統合)が、いくつかの便利な機能(たとえば、タスクの取り消し、コードの自動再読み込み)が不足しているようです

9
スクリプトがタスクスケジューラによって実行されている場合、スクリプトの出力をキャプチャするにはどうすればよいですか?
Windows Server 2008を使用して、Windowsタスクスケジューラで実行されているスクリプトの出力をキャプチャするにはどうすればよいですか? 私はかなり長いカスタム印刷バッチスクリプトをテストしています。デバッグのために、毎晩それからのすべての出力を確認したいと思います。

14
サービスが実行されていない場合に、バッチファイルを介してサービスが実行されているかどうかを確認して開始する方法
次の操作を実行するバッチファイルを作成します。 サービスが実行されているかどうかを確認する 実行中の場合は、バッチを終了します 実行されていない場合は、サービスを開始します これまでグーグルで処理したコードサンプルは機能しないことが判明したため、投稿しないことにしました。 サービスの開始は、次の方法で行われます。 net start "SERVICENAME" サービスが実行されているかどうか、およびバッチファイルでifステートメントを作成する方法を確認するにはどうすればよいですか? 私は少し混乱しています。ネットスタートに引き渡さなければならない議論は何ですか?サービス名またはその表示名?

10
毎日タスクを実行するようにC#Windowsサービスをスケジュールするにはどうすればよいですか?
C#(。NET 1.1)で記述されたサービスがあり、毎晩深夜にクリーンアップアクションを実行したいと考えています。すべてのコードをサービス内に含める必要があるので、これを実現する最も簡単な方法は何ですか?Thread.Sleep()ロールオーバーする時間の使用とチェック?


18
C#で毎日特定の時間にメソッドを呼び出す方法は?
SOで検索し、Quartz.netに関する回答を見つけました。しかし、それは私のプロジェクトには大きすぎるようです。同等のソリューションが必要ですが、よりシンプルで(せいぜい)インコードです(外部ライブラリは必要ありません)。毎日、特定の時間にメソッドを呼び出すにはどうすればよいですか? これに関するいくつかの情報を追加する必要があります: これを行う最も簡単な(そして醜い)方法は、毎秒/分ごとに時間をチェックし、適切なタイミングでメソッドを呼び出すことです。 これを行うためのより効果的な方法が必要であり、時間を常にチェックする必要はなく、ジョブが実行されるかどうかを制御できます。メソッドが失敗した場合(問題が原因で)、プログラムはログに書き込む/電子メールを送信することを知っている必要があります。そのため、ジョブをスケジュールするのではなく、メソッドを呼び出す必要があります。 私はこの解決策を見つけましたJavaのJavaで決まった時間にメソッドを呼び出します。C#にも同様の方法がありますか? 編集:私はこれをしました。void Main()にパラメーターを追加し、このパラメーターを使用してプログラムを実行するためのバット(Windowsタスクスケジューラによってスケジュールされた)を作成しました。プログラムが実行され、ジョブが実行されてから終了します。ジョブが失敗した場合、ログを書き込んだり、メールを送信したりできます。このアプローチは私の要件によく合います:)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.