Platform
Cronジョブ
13 分
parse cron jobの作成方法 はじめに このセクションでは、back4appを使用して https //www back4app com/product/parse server を使ってcronジョブをスケジュールする方法を説明します。 このチュートリアルでは、例として、サインアップ後にメールを確認していないユーザーを削除するcronジョブを作成します。 parse dashboard parse dashboard から。 いつでも、このチュートリアルのために構築された完全なプロジェクトにアクセスできます。 https //github com/back4app/android background jobs 。 前提条件 このチュートリアルを完了するには、次のものが必要です: back4appで作成されたアプリ。 注: https //www back4app com/docs/get started/new parse app を参照して、back4appでparseアプリを作成する方法を学んでください。 cloud codeに関する知識。 注: https //www back4app com/docs/android/parse cloud code または https //www back4app com/docs を参照して、詳細情報を得てください。 android 4 0(アイスクリームサンドイッチ)以上を実行しているデバイス(または https //developer android com/studio/run/managing avds?hl=pt br ) 1 cronジョブコードを作成する cronジョブコードを入れるための js js ファイルを作成します。この例では、 main js main js ファイルが cloud code cloud code ディレクトリに作成されます。 parse cloud job parse cloud job を使用してジョブ関数を定義します。この例では、次のコードがあなたの parse dashboard parse dashboard のすべてのユーザーを確認し、その後、一定の時間が経過した後にメールが未確認のユーザーをクエリして削除します parse server 3 x main js 1 parse cloud job("removeinvalidlogin", async (request) => { 2 let date = new date(); 3 let timenow = date gettime(); 4 let intervaloftime = 3 60 1000; // the time set is 3 minutes in milliseconds 5 let timethen = timenow intervaloftime; 6 7 // limit date 8 let querydate = new date(); 9 querydate settime(timethen); 10 11 // the query object 12 let query = new parse query(parse user); 13 14 // query the users that still unverified after 3 minutes 15 query equalto("emailverified", false); 16 query lessthanorequalto("createdat", querydate); 17 18 const results = await query find({usemasterkey\ true}); 19 20 results foreach(object => { 21 object destroy({usemasterkey true}) then(destroyed => { 22 console log("successfully destroyed object" + json stringify(destroyed)); 23 }) catch(error => { 24 console log("error " + error code + " " + error message); 25 }) 26 }); 27 28 return ("successfully retrieved " + results length + " invalid logins "); 29 }); parse server 2 x main js 1 parse cloud job("removeinvalidlogin", function (request, response) { 2 var date = new date(); 3 var timenow = date gettime(); 4 var intervaloftime = 3 60 1000; // the time set is 3 minutes in milliseconds 5 var timethen = timenow intervaloftime; 6 7 // limit date 8 var querydate = new date(); 9 querydate settime(timethen); 10 11 // the query object 12 var query = new parse query(parse user); 13 14 // query the users that still unverified after 3 minutes 15 query equalto("emailverified", false); 16 query lessthanorequalto("createdat", querydate); 17 18 query find({ 19 success function (results) { 20 console log("successfully retrieved " + results length + " invalid logins "); 21 22 // destroying the invalid users 23 query each(function (object, err) { 24 object destroy({ 25 success function (object) { 26 response success("successfully destroyed object " + object objectid); 27 }, 28 error function (error) { 29 response error("error " + error code + " " + error message); 30 }, 31 usemasterkey true // very important!! 32 }) 33 }) 34 }, 35 error function (error) { 36 response error("error " + error code + " " + error message); 37 } 38 }); 39 }); この操作では マスターキー を使用する必要があります。 未確認のユーザーがアカウントを確認せずにアクティブなままでいることができる時間の量に応じて、 intervaloftime intervaloftime コンテンツを変更できます。ただし、アプリケーションをテストするためには、小さな時間間隔の方が良いことを忘れないでください。したがって、 intervaloftime intervaloftime コンテンツを3分に設定して、cronジョブが機能しているかどうかをテストし、その後、実際に望む時間の量でjavascriptコードを変更することをお勧めします。 intervaloftime intervaloftime を設定してください。 javascriptファイルの変更は、back4app cloud codeブロックに再度ファイルをアップロードしない限り、アプリケーションで計算されないことを忘れないでください。これを行うには、不要な js js ファイルを削除し、不要な intervaloftime intervaloftime コンテンツを持つファイルを削除し、正しい intervaloftime intervaloftime コンテンツを持つファイルをアップロードするためにステップ2に従ってください。 2 cloud codeにcronジョブをアップロードする cloud codeの使い方について詳しく知りたい場合は、 https //www back4app com/docs/android/parse cloud code または https //www back4app com/docs をご覧ください。 アプリに移動して https //www back4app com/ ウェブサイトをクリックし、 ダッシュボード ダッシュボード をクリックします。 次に、 クラウドコード クラウドコード を見つけて、 関数とウェブホスティング 関数とウェブホスティング をクリックします。次のようになります 3\ 新しいファイルをアップロードまたは作成します(現在の main js main js ファイルをブラウザ上で直接編集することもできます)。次に、 デプロイ デプロイ をクリックします。次のようになります 3 back4appでcronジョブをスケジュールする アプリに移動し、 https //www back4app com/ をクリックします。 サーバー設定 サーバー設定 「バックグラウンドジョブ」ブロックを見つけて、 設定 設定 をクリックします。「バックグラウンドジョブ」ブロックは次のようになります 3\ バックグラウンドジョブのページが表示され、2つのオプションが表示されます ジョブをブラウズするか、ジョブをスケジュールするかです。下のように「ジョブをスケジュールする」をクリックします もしあなたが 編集する 編集する , 今すぐ実行する 今すぐ実行する , または 削除する 削除する 既存のcronジョブを、 ジョブをブラウズする ジョブをブラウズする ボタンをクリックしてください。 4\ ジョブをスケジュールするページが表示され、あなたはジョブの 説明 説明 フィールドにその説明を記入し、また クラウドジョブ クラウドジョブ フィールドには、javascriptコードの最初の行でcronジョブに設定した名前を記入する必要があります。この例では、作成されたcronジョブの名前は removeinvalidlogin removeinvalidlogin です。 5\ あなたはまた、cronジョブがいつ実行を開始するか、繰り返すべきか、どのくらいの頻度で実行するかなど、他のオプションを設定することもできます。これらのオプションを好みに合わせて記入した後、 保存 保存 ボタンをクリックしてください。 4 アプリをテストする いくつかのユーザーを作成し、 emailverified emailverified 列を false false に設定します。あなたの parse dashboard parse dashboard , 以下のように 2\ アプリケーションを実行し、あなたの parse dashboard parse dashboard を更新します。未確認のユーザーが削除されているはずです。上記の parse dashboard parse dashboard に対して、これが結果です cronジョブが動作しているかどうかを確認するには、back4appのログにアクセスします。そのためには、次の手順に従ってください: アプリに移動し、 https //www back4app com/ をクリックします。そして、 サーバー設定 サーバー設定 をクリックします。 「ログ」ブロックを見つけて、 設定 設定 をクリックします。「ログ」ブロックは次のようになります 3 ページをスクロールして、 サーバーシステムログ サーバーシステムログ が見えるまでスクロールします。そこには、実行中のcronジョブに関する情報が表示されます。 完了! この段階で、back4appを通じてparse server core機能を使用して、アプリケーション内でcronジョブをスケジュールできます!