4

UNIX では実際のジョブを使用できないため、疑似 cron ジョブを作成する可能性を探しています。

Python スクリプトは無制限に実行できるため、Python は優れたソリューションになると思いました。

Google App Engine では、Python スクリプトを無料でセットアップできます。そのため、App Engine を使用する必要があります。

App Engine では 160,000 の外部 URL アクセスが許可されているため (そうですか?)、1 分あたり 160,000/31/24/60 = 3.6 アクセスが必要です。

したがって、私のスクリプトは次のようになります。

import time
import urllib
while time.clock() < 86400:
    # execute pseudo-cronjob file and then wait 60 seconds
    content = urllib.urlopen('http://www.example.org/cronjob_file.php').read()
    time.sleep(60)

残念ながら、スクリプトをテストする機会がないので、質問は次のとおりです。1) これでうまくいくと思いますか? 2) そのような活動のためにサービスを使用することは許可されていますか (Google TOS)? 3) 1 分あたりの URL アクセス数の計算は正しいですか?

前もって感謝します!

4

5 に答える 5

6

誤解しているかもしれませんが、cron 構成ファイルを使用すると、(Python を使用せずに) これを行うことができます。次のようなものを cron.yaml ファイルに追加できます。

cron:
- description: job that runs every minute
  url: /cronjobs/job1
  schedule: every minute

スケジューリングの詳細については、 Google のドキュメントを参照してください。

于 2009-04-16T12:48:53.550 に答える
2

Google では、タスクを実行できる時間にいくつかの制限があります。

SDK で行われた URLFetch 呼び出しのタイムアウトが 5 秒になりました。

任意の日に最大 20 個の cron タスクをスケジュールできます。 ここ

于 2009-04-16T20:28:05.913 に答える
1

あなたはそれをしたい方法を明確にしたいかもしれません

appengine を使用してジョブを実行しますか? つまり、ジョブは Google のサーバーで実行されますか?

また

サーバーで独自のコードを使用し、Google アプリ エンジンを使用してそれをトリガーしますか?

前者の場合: Google は現在 cron を実行しています。それを使用してください:)

後者の場合: Google の cron を使用して、間接的であっても独自の cron をトリガーできます (つまり、google-cron は、your-app を呼び出す google-app-engine を呼び出します)。

可能であれば、ジョブを実行するためにスレッドをスピンアップして、ページがすぐに戻るようにします。忘れないでください: http://whatever/mypage.phpを呼び出してブラウザーが停止した場合 (または、この場合、実行時間が長すぎるために Google がプロセスを強制終了した場合)、php スクリプトは通常、最後まで実行されます。どこにもありません。

それに失敗した場合は、スレッドをスピンアップしてみてください(PHPでそれを実行できるかどうかはわかりません-私はPHPが初めてのC#の男です)

他のすべてが失敗した場合: より良いウェブホストを入手してください! 私は、dreamhost.com に月額 6 ドル程度を支払っており、dreamhost.com のサーバーで cron ジョブを実行できます (含まれています)。彼らはPHP、Railsなどを行います。割引コードについては、私に ping を送信することもできます :) (ウェブサイトなどのプロファイルを表示)

于 2009-04-16T20:47:24.230 に答える
1

重複しています。Google appengine の cron ジョブを参照してください

Cron ジョブが GAE で正式にサポートされるようになりました: http://code.google.com/appengine/docs/python/config/cron.html

于 2009-04-16T11:52:31.470 に答える
0

Nic Wise が言ったことを実行するか、www.guardiano.pm などのサービスを使用して cronjob を外部委託することで、実際に www.yoursite.com/myjob.php を呼び出すことができ、その URL を呼び出すたびに必要なものが実行されます。

Ps は無料です Pss は私のお気に入りのプロジェクトであり、ベータ版です

于 2015-06-12T16:00:21.640 に答える