Duplicate Services
charlie
HOBBYOP

2 years ago

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.

0 Replies

charlie
HOBBYOP

2 years ago

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


dev
MODERATOR

2 years ago

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


brody
EMPLOYEE

2 years ago

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


charlie
HOBBYOP

2 years ago

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


brody
EMPLOYEE

2 years ago

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


charlie
HOBBYOP

2 years ago

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)?


charlie
HOBBYOP

2 years ago

(if that makes sense 😅 )


brody
EMPLOYEE

2 years ago

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


charlie
HOBBYOP

2 years ago

Which 2 variables are you referring to?


brody
EMPLOYEE

2 years ago

give this thread another slow read over please


charlie
HOBBYOP

2 years ago

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


brody
EMPLOYEE

2 years ago

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


charlie
HOBBYOP

2 years ago

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)


charlie
HOBBYOP

2 years ago

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!


brody
EMPLOYEE

2 years ago

no problem!


Loading...