#Duplicate Services

18 messages · Page 1 of 1 (latest)

quartz fox
#

How do you duplicate services? I have a setup of a single Background Worker, I want to be able to duplicate this service so when I deploy it, my worker requests will go to the duplicate (i.e. backup) server so no jobs get interrupted due to deployment.

gray ivyBOT
#

Project ID: c61c1785-a8d8-43d0-9d8b-6bd1f69aa3bf

quartz fox
#

Project ID: c61c1785-a8d8-43d0-9d8b-6bd1f69aa3bf

dire spindle
#

You unfortunately can't duplicate services, although you might find the RAILWAY_DEPLOYMENT_OVERLAP_SECONDS Railway provided variable useful

stark ice
#

also the RAILWAY_DEPLOYMENT_DRAINING_SECONDS so that your old deployment can know not to accept any new jobs

quartz fox
#

Will the old deployment still run in progress jobs? Say I have a job that take 30 minutes

stark ice
#

that's completely up to you to design it that way, railway will send a sigterm signal and then your app should finish the jobs it already has and not accept any new jobs, then exit so the new deployment can take over

quartz fox
#

So I understand, if I have Job X that runs for 30 minutes and at minute 10 I trigger a new deployment the old deployment will continue running Job X (but not accept any new jobs) while in parallel the new deployment will accept new jobs (even though Job X is still running on the old deployment)?

#

(if that makes sense 😅 )

stark ice
#

by default, that's probably not how it's going to work, you would be responsible for correctly configuring those two variables and your worker configuration to behave as mentioned

quartz fox
#

Which 2 variables are you referring to?

stark ice
#

give this thread another slow read over please

quartz fox
#

(I don't have the context you have which is why I'm trying to understand how Railway is working under the hood)

stark ice
#

we have mentioned the two variables and have even linked to the docs page that explains them

quartz fox
#

Ok the RAILWAY_DEPLOYMENT_OVERLAP_SECONDS and RAILWAY_DEPLOYMENT_DRAINING_SECONDS (I've not used these before, I thought you were referring to length of the jobs)

#

I think I will have to play around with Railway in a test environment to test this use case as not super clear how this is working and feels a bit black boxy, appreciate your help and sending me in the right direction wrt. the environment variables, thanks!

stark ice
#

no problem!

lone relicBOT