mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-25 07:12:18 +00:00
28 lines
1.2 KiB
CoffeeScript
28 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
|