問題タブ [upstart]
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.
ubuntu - upstart を使用して ubuntu で Python サービスを実行する
Upstart を使用して、ハートビート サービス (python スクリプト) をサービスとしてデプロイするために作成したいと考えています。
私の理解では/etc/init/myheartbeatservice.conf
、次の内容を追加する必要があります。
私のスクリプトは別のサービス プロセスを開始し、プロセスを監視して外部サーバーに定期的にハートビートを送信します。正しいイベントはstartup
ありますか? shutdown
また、私のスクリプトは新しいスレッドを作成します。fork daemon
conf ファイルにも追加する必要があると思いますか?
ありがとう。
python - 一部の Python コードを非同期で実行する適切な方法は何ですか?
プレーンな Flask アプリからメールを送信する必要があったため、最も簡単な方法は smtplib を使用して送信することだと考えました。しかし、私はそれを非同期で行う必要がありました.3秒の遅延をリクエストに挿入することはできません.そうですか? そこで、メールをキュー (psql テーブル) に追加し、このテーブルを読み取り、smptlib を使用する別のプログラムから送信します。
この 2 番目のプログラム (maildonkey) は、独立した upstart サービスで別のプロセスとして実行されています。
今、私はそれらの小さな非同期サービスの別の 1 つを必要としており、別の Python スクリプトを作成する必要があるかどうか (3 番目に、Flask アプリと「maildonkey」を数えます)、または Python の「マルチプロセス」や「スレッド」などを使用する必要があるかどうかを考えています。 ' そして 2 番目のプログラムを書き直しますか?
(Clojure でプログラミングしていたときは、'futures' を使用してコードを別のスレッドで簡単に実行できたので、通常はそうします。)
networking - ネットワークが稼働しているとき、およびシステムがシャットダウンしようとしているときの Ubuntu Upstart イベント
次の 2 つのイベントの upstart イベント名が必要です。
- ネットワーキングは稼働中です
- システムがシャットダウンしようとしているとき
django - virtualenvでCelery(django-celery)のUbuntuUpstartジョブを作成する方法
私はupstartを使うのが本当に楽しいです。私は現在、いくつかのvirtualenvでさまざまなgunicornインスタンスを実行するためのスタートアップジョブを持っています。ただし、インターウェブ上のCelery upstartスクリプトで見つけた2〜3の例は、私には機能しません。
したがって、次の変数を使用して、virtualenvでdjango-celeryを実行するUpstartジョブをどのように記述しますか。
Djangoプロジェクトへのパス:
このプロジェクトのvirtualenvへのパス:
セロリ設定へのパスは、Djangoプロジェクト設定ファイル(django-celery)です。
このCeleryインスタンスのログファイルへのパス:
この仮想環境の場合、ユーザーは次のことを行います。
とグループ:
celerybeatでCeleryDaemonを実行したいので、django-admin.py(またはmanage.py)に渡すコマンドは次のとおりです。
スクリプトはgunicornジョブの開始後に開始し、gunicornジョブが停止すると停止するとさらに良いでしょう。そのためのファイルが次のようになっているとしましょう:
message-queue - Pythonによるすべての新興ジョブとイベントのリッスン
Linux ホスト (Amazon EC2 Linux AMI) ですべての Upstart ジョブ/イベントを Python でリッスンして、すべてのジョブ/イベントを RabbitMQ サーバーにブリッジし、ワーカー ホストがそれを記録していくつかのジョブで何かを実行できるようにしたい/イベント。
Upstart のバージョンは 0.6.5 です。
「dbus-python」モジュールが見つかりました(システムに既にインストールされています)。しかし、私はそれを理解することはできません。
どうやってやるの ?
ubuntu - GNU/Linux での squid3 の停止 (または再起動) が非常に遅いのはなぜですか?
Ubuntu 11.04 を使用しています。「/etc/init.d/squid3 restart」を呼び出すと、再起動に約 30 分かかります。それは何をしているのですか?
出力は次のようになります。
fedora - upstart と systemd の両方で動作する fedora rpm を作成しますか?
私はサービスを構築しました。それを rpm 経由で配布し、さまざまな Fedora リリースで動作するようにしたいと考えています。これはサービスであるため、システムと統合する必要があるため、次のことが可能です。
問題は、fedoraがリリース 9 から 14 でupstartを使用し、15 以降でsystemdを使用したことです。両方のシステムでこれを行うことができますが、正しくパッケージ化する方法がわかりません。
Fedora リリース用に別の rpm を構築する必要があると思います。唯一の違いは、いくつかのファイルが異なる場所にコピーされることです。
違いをどのように処理すればよいですか?.spec-file または Makefile で? または、2 つの異なる .spec ファイルを使用する必要がありますか?
linux - Upstart: 起動シーケンス中に起動後スクリプト スタンザでコマンド置換を使用するとエラーが発生する
起動後スクリプト スタンザ内でコマンド置換を使用するとエラーが発生する (syslog が「ステータス 1 で終了」と報告する) 問題が upstart で見られますが、それは最初のシステム起動時のみです。
太陽の下でほぼすべてのスタートアップ イベント フックを使用してみました。local-filesystems と net-device-up は 1/100 回の試行でエラーなく動作したため、競合状態のようです。手動のスタート/ストップで問題なく動作します。私が見たコマンド置換は、エラーを引き起こす単純な猫または日付であり、 $() 方法とバックティック方法の両方を使用してみました。また、プレスタートでスリープを使用して競合状態を打ち負かそうとしましたが、何もしませんでした。
Win7 ホストを使用して VMWare 上で Ubuntu 11.10 を実行しています。すでにこれをトラブルシューティングするのに何時間も費やしました...誰かアイデアがありますか?
参照用の私の.confファイルは次のとおりです。
django - Djangofcgiデーモンを同時に実行する
exec
Ubuntuupstart
スクリプトには次の2つのステートメントがあります。
2番目のコマンドは存続しますが、最初のコマンドは機能しなくなります。2つのコマンドの順序が逆になった場合も同じことが起こります。
上記とまったく同じ構文を使用して、同じupstartサービスから個別に(つまり単独で)実行すると、両方のコマンドが完全に機能します。
私は何が間違っているのですか?
ubuntu - upstart サービスに reload コマンドを送信する
upstart
によって起動されたデーモンに、完全に停止する必要なく、ある種のリロード コマンドを送信するにはどうすればよいですか?