問題タブ [periodic-task]

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 に答える
58 参照

c# - Win 8.1 アプリでコンテンツを定期的に更新する方法

Win 8.1 ユニバーサル アプリで async Webservice 呼び出しを呼び出して、ViewModel のクラスを定期的に (つまり、すべての 10 を) 更新するにはどうすればよいですか? DispatcherTimer を試してみましたが、タイマーは非同期部分を処理できません。これが私が試した私のコードです:

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

android - GCM PeriodicTask のテスト

GCM Network Manager (PeriodicTask)を使用して定期的なバックグラウンド更新をスケジュールしています。

このシステムは、GcmTaskServiceを使用してバックグラウンド コードを実行します。はそのServiceクラスを拡張し、作業は で行われpublic int onRunTask(TaskParams taskParams)ます。

Serviceおそらく を介してタスクを受け取るIntentので、自分で を実行できることを望んでいましたService。ただし、この目的に関するドキュメントは見つかりませんでした。

質問: 期間を低く設定せずに PeriodicTasks をテストして、より早く (そしてより定期的に) 起動するにはどうすればよいですか?

更新 #1:

Intent進むべき道のようです。がそのスレッドを実行できるようにするには、コードを詳しく調べるPendingCallback必要があります。GcmTaskService

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

python - Django + Celery: パラメーターを使用してタスクを定期的なタスクにチェーンする方法

私は Django + Celery を設定しました: すべての作品、views.py から呼び出されたタスクを実行できます。mul.apply_async((2, 5), queue='celery', countdown=5)

ユーザーから渡された引数を使用して単純なタスクをチェーンする定期的なタスクをスケジュールする必要があります。私はドキュメントhttp://docs.celeryproject.org/en/latest/userguide/canvas.htmlを読み、連鎖する方法を知っています。パラメーターなしで定期的なタスクを作成する方法を知っています@periodic_task(run_every=(crontab(hour="*", minute="*", day_of_week="*")))

しかし、これをどのように組み合わせるのですか?

私が望むワークフロー:

  1. ユーザーはパラメーターを使用してプロジェクトを作成します。そのパラメーターを使用して実行された 5 つのタスク。
  2. 次に、24 時間ごとに 5 つのタスクすべてを繰り返すスケジュールが必要です。したがって、ここではパラメーターを渡す方法がわかりません (パラメーターは db に保存されます)。

他の答えで、私はこの構文を見ました:

}

しかし、ここでの問題は、Django の settings.py にはあるが、tasks.py にはなく、引数を動的に渡すことができないことです。

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

django - Celerybeat の定期的なタスクは、長時間実行されているタスクの背後で立ち往生している場合に複数回実行されます

私のdjangoプログラムでは、セロリ3.1.17とredisをブローカーバージョン3.0.2として使用しています。Ubuntu 14.04で実行しています。

設定では、CELERYBEAT_SCHEDULE を次のように定義しました。

問題は次のとおりです。

次のタスクの予定時刻より前にタスクが終了すれば、問題なく動作します。ただし、タスクが長時間実行される場合、たとえば task1 が 2 時間実行されると、後のタスクがそれぞれ数回実行されます。celery と celerybeat を再起動すると、残業タスクがまだ残っている場合とそうでない場合があります。

それは私をとても混乱させました。セロリのドキュメントをしばらく読んでいましたが、理由がわかりませんでした。なぜこれが起こるのか、タスクキューがブロックされているかセロリが再起動されている場合、セロリがメッセージとタスクをどのように管理するか教えてもらえますか?

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

c - Linux ドライバーで定期的に spi_write を呼び出す

LCD ディスプレイ用のドライバを作成しています。アプリケーション ノートによると、コマンドのコントラストを最大化するために、ダミーの SPI 書き込みを定期的にコマンドに書き込む必要があります。これを実現するために、タイマーを設定し、タイマー ハンドラーからコントラストを最大化する 2 バイトのダミー コマンドを書き込もうとします。

ただし、spi_write 関数が次のエラーで完全なカーネル クラッシュを引き起こすため、問題が発生します。

次の投稿に基づく: 「BUG: Scheduling while atomic: swapper /0x00000103/0, CPU#0」を解決するには? TSC2007 ドライバーで?

"Scheduling while atomic" は、スピンロックで保護されたクリティカル セクションや割り込みハンドラーなど、スリープしてはいけない場所でスリープしようとしたことを示します。

おそらく、spi_write への呼び出しは、ある種のスリープ動作をトリガーします。スタック トレースに基づいて、コードがソフト IRQ 状態にあることがわかるため、ここでスリープを禁止することは理にかなっています。

私の質問は、SPI トランザクションが定期的に発生する必要がある場合に、そのような定期的な動作を実装する正しい方法は何ですか?

以下は、タイマー ハンドラーの概要です (ただし、名前をより一般的なものにするために手動で変更していますが、その過程でいくつかのタイプミスを挿入した可能性があります)。

ありがとう!

編集:以下の回答からの推奨事項を実装した後に思いついたものは次のとおりです。うまく機能しますが、delayed_work を使用するには、いくつかのフープをジャンプする必要がありました。

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

python - Django 設定で CELERYBEAT_SCHEDULE を設定するには?

これをスタンドアロン アプリケーションとして実行することはできますが、Django で動作させるのに問題があります。

スタンドアロンのコードは次のとおりです。

Rabbitmq サーバーにフィードし、毎分ファイルに書き込みます。それは魅力のように機能しますが、Django で機能させようとすると、次のエラーが発生します。

このタスクを含むモジュールをインポートしたことを覚えていますか? それとも、相対インポートを使用していますか? 詳しくは____をご覧ください。

メッセージ本文の完全な内容: {'retries': 0, 'eta': None, 'kwargs': {}, 'taskset': None, 'timelimit': [None, None], 'callbacks': None , 'task': 'proj.test', 'args': [], 'expires': なし, 'id': '501ca998-b5eb-4ba4-98a8-afabda9e88dd', 'utc': True, 'errbacks':なし、「chord」: なし} (246b) トレースバック (最新の呼び出しが最後): ファイル "/home/user/CeleryDjango/venv/lib/python3.5/site-packages/celery/worker/consumer.py"、行456、on_task_received 戦略 [名前] (メッセージ、本文、KeyError: 'proj.test' [2016-06-16 01:16:00,051: INFO/Beat] スケジューラ: 期日タスク テスト (proj.test) の送信 [2016- 06-16 01:16:00,055: エラー/MainProcess] タイプ 'proj.test' の未登録のタスクを受け取りました。

そして、これはDjangoでの私のコードです:


セロリ.py


task.py


init.py

これについてのご意見は大歓迎です。ありがとう。

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

c# - 同じスレッドで関数を定期的に呼び出す方法は? (C#)

ある種のタイマーが必要ですが、既存のタイマーの問題は、タイマーのコールバックがスレッドプールのスレッドで実行されることです。そのため、コールバックはスレッドセーフで再入可能である必要があります。

みたいなアイデア

私には間違っているようです。では、シングルスレッドで定期的に実行されるアクションの慣用句は何ですか?