mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-30 05:15:20 -05:00
27 lines
1.2 KiB
CoffeeScript
27 lines
1.2 KiB
CoffeeScript
settings = require('settings-sharelatex')
|
|
SubscriptionBackgroundTasks = require("./app/js/Features/Subscription/SubscriptionBackgroundTasks")
|
|
TpdsPollingBackgroundTasks = require("./app/js/Features/ThirdPartyDataStore/TpdsPollingBackgroundTasks")
|
|
AutomaticSnapshotManager = require("./app/js/Features/Versioning/AutomaticSnapshotManager")
|
|
|
|
time =
|
|
oneHour : 60 * 60 * 1000
|
|
fifteenMinutes : 15 * 60 * 1000
|
|
thirtySeconds : 30 * 1000
|
|
betweenThirtyAndFiveHundredSeconds: =>
|
|
random = Math.floor(Math.random() * 500) * 1000
|
|
if random < time.thirtySeconds
|
|
return time.betweenThirtyAndFiveHundredSeconds()
|
|
else
|
|
return random
|
|
|
|
runPeriodically = (funcToRun, periodLength)->
|
|
recursiveReference = ->
|
|
funcToRun ->
|
|
setTimeout recursiveReference, periodLength
|
|
setTimeout recursiveReference, 0
|
|
|
|
# TODO: Remove this one month after the ability to start free trials was removed
|
|
runPeriodically ((cb) -> SubscriptionBackgroundTasks.downgradeExpiredFreeTrials(cb)), time.oneHour
|
|
|
|
runPeriodically ((cb) -> TpdsPollingBackgroundTasks.pollUsersWithDropbox(cb)), time.fifteenMinutes
|
|
runPeriodically ((cb) -> AutomaticSnapshotManager.takeAutomaticSnapshots(cb)), time.thirtySeconds
|