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 {
|
export class AddonModAssignSyncProvider extends CoreSyncBaseProvider {
|
||||||
|
|
||||||
static AUTO_SYNCED = 'addon_mod_assign_autom_synced';
|
static AUTO_SYNCED = 'addon_mod_assign_autom_synced';
|
||||||
static SYNC_TIME = 300000;
|
|
||||||
|
|
||||||
protected componentTranslate: string;
|
protected componentTranslate: string;
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModAssignSyncCronHandler implements CoreCronHandler {
|
||||||
* @return {number} Time between consecutive executions (in ms).
|
* @return {number} Time between consecutive executions (in ms).
|
||||||
*/
|
*/
|
||||||
getInterval(): number {
|
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).
|
* @return {number} Time between consecutive executions (in ms).
|
||||||
*/
|
*/
|
||||||
getInterval(): number {
|
getInterval(): number {
|
||||||
return 600000; // 10 minutes.
|
return this.choiceSync.syncInterval;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,7 @@ export class AddonModChoiceSyncProvider extends CoreSyncBaseProvider {
|
||||||
|
|
||||||
// Sync all responses.
|
// Sync all responses.
|
||||||
responses.forEach((response) => {
|
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) {
|
if (result && result.updated) {
|
||||||
// Sync successful, send event.
|
// Sync successful, send event.
|
||||||
this.eventsProvider.trigger(AddonModChoiceSyncProvider.AUTO_SYNCED, {
|
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.
|
* Synchronize a choice.
|
||||||
*
|
*
|
||||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModDataSyncCronHandler implements CoreCronHandler {
|
||||||
* @return {number} Time between consecutive executions (in ms).
|
* @return {number} Time between consecutive executions (in ms).
|
||||||
*/
|
*/
|
||||||
getInterval(): number {
|
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).
|
* @return {number} Time between consecutive executions (in ms).
|
||||||
*/
|
*/
|
||||||
getInterval(): number {
|
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).
|
* @return {number} Time between consecutive executions (in ms).
|
||||||
*/
|
*/
|
||||||
getInterval(): number {
|
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 AUTO_SYNCED = 'addon_mod_forum_autom_synced';
|
||||||
static MANUAL_SYNCED = 'addon_mod_forum_manual_synced';
|
static MANUAL_SYNCED = 'addon_mod_forum_manual_synced';
|
||||||
static SYNC_TIME = 600000;
|
|
||||||
|
|
||||||
protected componentTranslate: string;
|
protected componentTranslate: string;
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModGlossarySyncCronHandler implements CoreCronHandler {
|
||||||
* @return {number} Time between consecutive executions (in ms).
|
* @return {number} Time between consecutive executions (in ms).
|
||||||
*/
|
*/
|
||||||
getInterval(): number {
|
getInterval(): number {
|
||||||
return AddonModGlossarySyncProvider.SYNC_TIME;
|
return this.glossarySync.syncInterval;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,6 @@ import { AddonModGlossaryOfflineProvider } from './offline';
|
||||||
export class AddonModGlossarySyncProvider extends CoreSyncBaseProvider {
|
export class AddonModGlossarySyncProvider extends CoreSyncBaseProvider {
|
||||||
|
|
||||||
static AUTO_SYNCED = 'addon_mod_glossary_autom_synced';
|
static AUTO_SYNCED = 'addon_mod_glossary_autom_synced';
|
||||||
static SYNC_TIME = 600000; // 10 minutes.
|
|
||||||
|
|
||||||
protected componentTranslate: string;
|
protected componentTranslate: string;
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,6 @@ export interface AddonModLessonSyncResult {
|
||||||
export class AddonModLessonSyncProvider extends CoreSyncBaseProvider {
|
export class AddonModLessonSyncProvider extends CoreSyncBaseProvider {
|
||||||
|
|
||||||
static AUTO_SYNCED = 'addon_mod_lesson_autom_synced';
|
static AUTO_SYNCED = 'addon_mod_lesson_autom_synced';
|
||||||
static SYNC_TIME = 300000;
|
|
||||||
|
|
||||||
protected componentTranslate: string;
|
protected componentTranslate: string;
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModLessonSyncCronHandler implements CoreCronHandler {
|
||||||
* @return {number} Time between consecutive executions (in ms).
|
* @return {number} Time between consecutive executions (in ms).
|
||||||
*/
|
*/
|
||||||
getInterval(): number {
|
getInterval(): number {
|
||||||
return 600000;
|
return this.lessonSync.syncInterval;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ export class AddonModQuizAccessOfflineAttemptsHandler implements AddonModQuizAcc
|
||||||
name = 'AddonModQuizAccessOfflineAttempts';
|
name = 'AddonModQuizAccessOfflineAttempts';
|
||||||
ruleName = 'quizaccess_offlineattempts';
|
ruleName = 'quizaccess_offlineattempts';
|
||||||
|
|
||||||
constructor() {
|
constructor(protected quizSync: AddonModQuizSyncProvider) {
|
||||||
// Nothing to do.
|
// Nothing to do.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,6 +86,6 @@ export class AddonModQuizAccessOfflineAttemptsHandler implements AddonModQuizAcc
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show warning if last sync was a while ago.
|
// 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 {
|
export class AddonModQuizSyncProvider extends CoreSyncBaseProvider {
|
||||||
|
|
||||||
static AUTO_SYNCED = 'addon_mod_quiz_autom_synced';
|
static AUTO_SYNCED = 'addon_mod_quiz_autom_synced';
|
||||||
static SYNC_TIME = 300000;
|
|
||||||
|
|
||||||
protected componentTranslate: string;
|
protected componentTranslate: string;
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModQuizSyncCronHandler implements CoreCronHandler {
|
||||||
* @return {number} Time between consecutive executions (in ms).
|
* @return {number} Time between consecutive executions (in ms).
|
||||||
*/
|
*/
|
||||||
getInterval(): number {
|
getInterval(): number {
|
||||||
return AddonModQuizSyncProvider.SYNC_TIME;
|
return this.quizSync.syncInterval;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,6 @@ export interface AddonModScormSyncResult {
|
||||||
export class AddonModScormSyncProvider extends CoreSyncBaseProvider {
|
export class AddonModScormSyncProvider extends CoreSyncBaseProvider {
|
||||||
|
|
||||||
static AUTO_SYNCED = 'addon_mod_scorm_autom_synced';
|
static AUTO_SYNCED = 'addon_mod_scorm_autom_synced';
|
||||||
static SYNC_TIME = 600000;
|
|
||||||
|
|
||||||
protected componentTranslate: string;
|
protected componentTranslate: string;
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModScormSyncCronHandler implements CoreCronHandler {
|
||||||
* @return {number} Time between consecutive executions (in ms).
|
* @return {number} Time between consecutive executions (in ms).
|
||||||
*/
|
*/
|
||||||
getInterval(): number {
|
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).
|
* @return {number} Time between consecutive executions (in ms).
|
||||||
*/
|
*/
|
||||||
getInterval(): number {
|
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).
|
* @return {number} Time between consecutive executions (in ms).
|
||||||
*/
|
*/
|
||||||
getInterval(): number {
|
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 AUTO_SYNCED = 'addon_mod_wiki_autom_synced';
|
||||||
static MANUAL_SYNCED = 'addon_mod_wiki_manual_synced';
|
static MANUAL_SYNCED = 'addon_mod_wiki_manual_synced';
|
||||||
static SYNC_TIME = 300000;
|
|
||||||
|
|
||||||
protected componentTranslate: string;
|
protected componentTranslate: string;
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,6 @@ export class AddonModWorkshopSyncCronHandler implements CoreCronHandler {
|
||||||
* @return {number} Time between consecutive executions (in ms).
|
* @return {number} Time between consecutive executions (in ms).
|
||||||
*/
|
*/
|
||||||
getInterval(): number {
|
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 AUTO_SYNCED = 'addon_mod_workshop_autom_synced';
|
||||||
static MANUAL_SYNCED = 'addon_mod_workshop_manual_synced';
|
static MANUAL_SYNCED = 'addon_mod_workshop_manual_synced';
|
||||||
static SYNC_TIME = 300000;
|
|
||||||
|
|
||||||
protected componentTranslate: string;
|
protected componentTranslate: string;
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,6 @@ export class AddonNotesSyncCronHandler implements CoreCronHandler {
|
||||||
* @return {number} Time between consecutive executions (in ms).
|
* @return {number} Time between consecutive executions (in ms).
|
||||||
*/
|
*/
|
||||||
getInterval(): number {
|
getInterval(): number {
|
||||||
return 600000; // 10 minutes.
|
return 300000; // 5 minutes.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue