MOBILE-2431 sync: Decrease sync cron times to 5 minutes
parent
f8f6d08318
commit
517ed53327
|
@ -52,7 +52,6 @@ export interface AddonModAssignSyncResult {
|
|||
export class AddonModAssignSyncProvider extends CoreSyncBaseProvider {
|
||||
|
||||
static AUTO_SYNCED = 'addon_mod_assign_autom_synced';
|
||||
static SYNC_TIME = 300000;
|
||||
|
||||
protected componentTranslate: string;
|
||||
|
||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModAssignSyncCronHandler implements CoreCronHandler {
|
|||
* @return {number} Time between consecutive executions (in ms).
|
||||
*/
|
||||
getInterval(): number {
|
||||
return 600000; // 10 minutes.
|
||||
return this.assignSync.syncInterval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModChoiceSyncCronHandler implements CoreCronHandler {
|
|||
* @return {number} Time between consecutive executions (in ms).
|
||||
*/
|
||||
getInterval(): number {
|
||||
return 600000; // 10 minutes.
|
||||
return this.choiceSync.syncInterval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,7 +77,7 @@ export class AddonModChoiceSyncProvider extends CoreSyncBaseProvider {
|
|||
|
||||
// Sync all responses.
|
||||
responses.forEach((response) => {
|
||||
promises.push(this.syncChoice(response.choiceid, response.userid, siteId).then((result) => {
|
||||
promises.push(this.syncChoiceIfNeeded(response.choiceid, response.userid, siteId).then((result) => {
|
||||
if (result && result.updated) {
|
||||
// Sync successful, send event.
|
||||
this.eventsProvider.trigger(AddonModChoiceSyncProvider.AUTO_SYNCED, {
|
||||
|
@ -91,6 +91,24 @@ export class AddonModChoiceSyncProvider extends CoreSyncBaseProvider {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Sync an choice only if a certain time has passed since the last time.
|
||||
*
|
||||
* @param {number} choiceId Choice ID to be synced.
|
||||
* @param {number} userId User the answers belong to.
|
||||
* @param {string} [siteId] Site ID. If not defined, current site.
|
||||
* @return {Promise<any>} Promise resolved when the choice is synced or it doesn't need to be synced.
|
||||
*/
|
||||
syncChoiceIfNeeded(choiceId: number, userId: number, siteId?: string): Promise<any> {
|
||||
const syncId = this.getSyncId(choiceId, userId);
|
||||
|
||||
return this.isSyncNeeded(syncId, siteId).then((needed) => {
|
||||
if (needed) {
|
||||
return this.syncChoice(choiceId, userId, siteId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Synchronize a choice.
|
||||
*
|
||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModDataSyncCronHandler implements CoreCronHandler {
|
|||
* @return {number} Time between consecutive executions (in ms).
|
||||
*/
|
||||
getInterval(): number {
|
||||
return 600000; // 10 minutes.
|
||||
return this.dataSync.syncInterval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModFeedbackSyncCronHandler implements CoreCronHandler {
|
|||
* @return {number} Time between consecutive executions (in ms).
|
||||
*/
|
||||
getInterval(): number {
|
||||
return 600000; // 10 minutes.
|
||||
return this.feedbackSync.syncInterval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModForumSyncCronHandler implements CoreCronHandler {
|
|||
* @return {number} Time between consecutive executions (in ms).
|
||||
*/
|
||||
getInterval(): number {
|
||||
return AddonModForumSyncProvider.SYNC_TIME;
|
||||
return this.forumSync.syncInterval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,7 +36,6 @@ export class AddonModForumSyncProvider extends CoreSyncBaseProvider {
|
|||
|
||||
static AUTO_SYNCED = 'addon_mod_forum_autom_synced';
|
||||
static MANUAL_SYNCED = 'addon_mod_forum_manual_synced';
|
||||
static SYNC_TIME = 600000;
|
||||
|
||||
protected componentTranslate: string;
|
||||
|
||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModGlossarySyncCronHandler implements CoreCronHandler {
|
|||
* @return {number} Time between consecutive executions (in ms).
|
||||
*/
|
||||
getInterval(): number {
|
||||
return AddonModGlossarySyncProvider.SYNC_TIME;
|
||||
return this.glossarySync.syncInterval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,7 +35,6 @@ import { AddonModGlossaryOfflineProvider } from './offline';
|
|||
export class AddonModGlossarySyncProvider extends CoreSyncBaseProvider {
|
||||
|
||||
static AUTO_SYNCED = 'addon_mod_glossary_autom_synced';
|
||||
static SYNC_TIME = 600000; // 10 minutes.
|
||||
|
||||
protected componentTranslate: string;
|
||||
|
||||
|
|
|
@ -53,7 +53,6 @@ export interface AddonModLessonSyncResult {
|
|||
export class AddonModLessonSyncProvider extends CoreSyncBaseProvider {
|
||||
|
||||
static AUTO_SYNCED = 'addon_mod_lesson_autom_synced';
|
||||
static SYNC_TIME = 300000;
|
||||
|
||||
protected componentTranslate: string;
|
||||
|
||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModLessonSyncCronHandler implements CoreCronHandler {
|
|||
* @return {number} Time between consecutive executions (in ms).
|
||||
*/
|
||||
getInterval(): number {
|
||||
return 600000;
|
||||
return this.lessonSync.syncInterval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ export class AddonModQuizAccessOfflineAttemptsHandler implements AddonModQuizAcc
|
|||
name = 'AddonModQuizAccessOfflineAttempts';
|
||||
ruleName = 'quizaccess_offlineattempts';
|
||||
|
||||
constructor() {
|
||||
constructor(protected quizSync: AddonModQuizSyncProvider) {
|
||||
// Nothing to do.
|
||||
}
|
||||
|
||||
|
@ -86,6 +86,6 @@ export class AddonModQuizAccessOfflineAttemptsHandler implements AddonModQuizAcc
|
|||
}
|
||||
|
||||
// Show warning if last sync was a while ago.
|
||||
return Date.now() - AddonModQuizSyncProvider.SYNC_TIME > quiz.syncTime;
|
||||
return Date.now() - this.quizSync.syncInterval > quiz.syncTime;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,7 +52,6 @@ export interface AddonModQuizSyncResult {
|
|||
export class AddonModQuizSyncProvider extends CoreSyncBaseProvider {
|
||||
|
||||
static AUTO_SYNCED = 'addon_mod_quiz_autom_synced';
|
||||
static SYNC_TIME = 300000;
|
||||
|
||||
protected componentTranslate: string;
|
||||
|
||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModQuizSyncCronHandler implements CoreCronHandler {
|
|||
* @return {number} Time between consecutive executions (in ms).
|
||||
*/
|
||||
getInterval(): number {
|
||||
return AddonModQuizSyncProvider.SYNC_TIME;
|
||||
return this.quizSync.syncInterval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,7 +57,6 @@ export interface AddonModScormSyncResult {
|
|||
export class AddonModScormSyncProvider extends CoreSyncBaseProvider {
|
||||
|
||||
static AUTO_SYNCED = 'addon_mod_scorm_autom_synced';
|
||||
static SYNC_TIME = 600000;
|
||||
|
||||
protected componentTranslate: string;
|
||||
|
||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModScormSyncCronHandler implements CoreCronHandler {
|
|||
* @return {number} Time between consecutive executions (in ms).
|
||||
*/
|
||||
getInterval(): number {
|
||||
return AddonModScormSyncProvider.SYNC_TIME;
|
||||
return this.scormSync.syncInterval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModSurveySyncCronHandler implements CoreCronHandler {
|
|||
* @return {number} Time between consecutive executions (in ms).
|
||||
*/
|
||||
getInterval(): number {
|
||||
return 600000; // 10 minutes.
|
||||
return this.surveySync.syncInterval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModWikiSyncCronHandler implements CoreCronHandler {
|
|||
* @return {number} Time between consecutive executions (in ms).
|
||||
*/
|
||||
getInterval(): number {
|
||||
return 600000; // 10 minutes.
|
||||
return this.wikiSync.syncInterval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -96,7 +96,6 @@ export class AddonModWikiSyncProvider extends CoreSyncBaseProvider {
|
|||
|
||||
static AUTO_SYNCED = 'addon_mod_wiki_autom_synced';
|
||||
static MANUAL_SYNCED = 'addon_mod_wiki_manual_synced';
|
||||
static SYNC_TIME = 300000;
|
||||
|
||||
protected componentTranslate: string;
|
||||
|
||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModWorkshopSyncCronHandler implements CoreCronHandler {
|
|||
* @return {number} Time between consecutive executions (in ms).
|
||||
*/
|
||||
getInterval(): number {
|
||||
return AddonModWorkshopSyncProvider.SYNC_TIME;
|
||||
return this.workshopSync.syncInterval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,7 +35,6 @@ export class AddonModWorkshopSyncProvider extends CoreSyncBaseProvider {
|
|||
|
||||
static AUTO_SYNCED = 'addon_mod_workshop_autom_synced';
|
||||
static MANUAL_SYNCED = 'addon_mod_workshop_manual_synced';
|
||||
static SYNC_TIME = 300000;
|
||||
|
||||
protected componentTranslate: string;
|
||||
|
||||
|
|
|
@ -42,6 +42,6 @@ export class AddonNotesSyncCronHandler implements CoreCronHandler {
|
|||
* @return {number} Time between consecutive executions (in ms).
|
||||
*/
|
||||
getInterval(): number {
|
||||
return 600000; // 10 minutes.
|
||||
return 300000; // 5 minutes.
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue