4 days ago
Hello Railway Team,
We are preparing a safe staging deployment for a Python application using SQLite and an external Windows worker that continuously polls HTTP endpoints.
Current environment
- Project: genspicy-staging
- Environment: staging
- Service: genspicy-web
- Plan: Free
- One running service instance
- One public Railway domain and a private Railway network hostname
We need to temporarily prevent new jobs from being created or claimed while allowing existing jobs to complete safely.
Our current Railway plan does not support Edge Rules. We have not changed any resources.
Questions:
-
Which Railway plans support path-specific Edge Rules, and what is the minimum upgrade cost?
-
Do Edge Rules also protect traffic through
railway.internal, or can private-network requests bypass these restrictions? -
Is there a supported way to restrict specific HTTP endpoints across both public and private networking without changing application code?
-
Does Railway offer a way to monitor or drain in-flight HTTP requests before a deployment or maintenance operation?
-
What is the lowest-cost supported solution for this scenario, preferably without upgrading?
-
Can path-specific restrictions return HTTP 429 for the job-claim endpoint while leaving heartbeat, start, result and failure-reporting endpoints unaffected?
-
Can these restrictions be applied without restarting or redeploying the service? What propagation guarantees exist, and how can we confirm previously admitted requests have finished?
Our priority is to protect active tasks, prevent data loss, and avoid interrupting the existing worker.
Please provide official documentation or recommended implementation guidance where possible.
We are requesting technical clarification only. Please do not change our Railway resources.
Thank you!
6 Replies
4 days ago
Edge rules can do the job-claim part: a Block rule matches a path (exact or wildcard) and can return any status from 400 to 499, including 429 with a custom body. Rules only affect the paths they match, so your heartbeat, start, result and failure endpoints keep working. You need a public domain and a plan that includes edge rules, and the rule editor in the service's Settings > Edge > Edge Rules shows your plan's limit. Saving rules doesn't redeploy or restart the service, and saved changes reach our edge locations within a few seconds. See Edge rules.
Edge rules only apply to traffic that comes through the edge. Private networking (*.railway.internal) skips the edge completely, so internal requests aren't filtered. Edge rules can't restrict an endpoint on the private network.
We don't have a feature that shows in-flight requests or pauses a running service until they finish. During a redeploy, the old deployment gets a shutdown grace period that you set with RAILWAY_DEPLOYMENT_DRAINING_SECONDS, and it defaults to 0 seconds. You can use the service's HTTP logs to see which requests reached the service and when they completed, by path and status. Those logs cover public-domain traffic only.
Your worker connects through the public domain, so path-based edge rules are the only option here that doesn't need code changes. If you don't upgrade, you'd need to add a pause switch inside your application.
Status changed to Awaiting User Response Railway • 4 days ago
Railway
Edge rules can do the job-claim part: a Block rule matches a path (exact or wildcard) and can return any status from 400 to 499, including 429 with a custom body. Rules only affect the paths they match, so your heartbeat, start, result and failure endpoints keep working. You need a public domain and a plan that includes edge rules, and the rule editor in the service's **Settings > Edge > Edge Rules** shows your plan's limit. Saving rules doesn't redeploy or restart the service, and saved changes reach our edge locations within a few seconds. See [Edge rules](https://docs.railway.com/networking/edge-rules). Edge rules only apply to traffic that comes through the edge. Private networking (`*.railway.internal`) skips the edge completely, so internal requests aren't filtered. Edge rules can't restrict an endpoint on the private network. We don't have a feature that shows in-flight requests or pauses a running service until they finish. During a redeploy, the old deployment gets a shutdown grace period that you set with `RAILWAY_DEPLOYMENT_DRAINING_SECONDS`, and it defaults to 0 seconds. You can use the service's HTTP logs to see which requests reached the service and when they completed, by path and status. Those logs cover public-domain traffic only. Your worker connects through the public domain, so path-based edge rules are the only option here that doesn't need code changes. If you don't upgrade, you'd need to add a pause switch inside your application.
3 days ago
Thanks for the clarification. We still need human guidance on safely upgrading the existing service on the Free plan without interrupting active jobs. Edge Rules are unavailable on our plan, private traffic bypasses them, and we cannot verify in-flight request completion. Is there a supported safe bootstrap procedure for this specific situation? We want to upgrade the existing service, not create a new one.
Status changed to Awaiting Railway Response Railway • 3 days ago
3 days ago
We don't have a dedicated bootstrap or drain procedure for this; the available pieces are the ones below.
Edge Rules are available from the Hobby plan, which allows up to 3 rules per service (Pro allows 5). Plan changes are made from your workspace plans page, and Edge Rules also need to be turned on in your account feature flags before the section appears in the service's Settings > Edge.
After that, adding a Block rule for the job-claim path doesn't redeploy or restart the existing service, so the worker's in-progress heartbeat, start, result and failure calls through the public domain keep going. You can then watch the service's HTTP logs until no new claim requests reach the service and the active jobs have reported their results. Private-network traffic still isn't covered by Edge Rules.
Status changed to Awaiting User Response Railway • 3 days ago
Railway
We don't have a dedicated bootstrap or drain procedure for this; the available pieces are the ones below. Edge Rules are available from the Hobby plan, which allows up to 3 rules per service (Pro allows 5). Plan changes are made from your [workspace plans page](https://railway.com/workspace/plans), and Edge Rules also need to be turned on in your [account feature flags](https://railway.com/account/feature-flags) before the section appears in the service's Settings > Edge. After that, adding a Block rule for the job-claim path doesn't redeploy or restart the existing service, so the worker's in-progress heartbeat, start, result and failure calls through the public domain keep going. You can then watch the service's HTTP logs until no new claim requests reach the service and the active jobs have reported their results. Private-network traffic still isn't covered by Edge Rules.
16 hours ago
Hello Railway Support,
I currently have an active Trial workspace with an existing project named genspicy-staging, service genspicy-web, and a persistent volume named genspicy-web-volume.
I would like to continue on the Free plan without upgrading to Hobby.
Before making any changes, could you please confirm:
- Will my existing volume, which was created during the Trial period, be deleted 30 days after the trial credits expire, even if my workspace automatically transitions to Free?
- Is there an officially supported way to retain this exact existing volume on the Free plan without paying?
- What is the exact data-retention deadline for my existing volume?
- If retaining the original volume on Free is not supported, is there a supported method to preserve the data within the same existing project and service without changing the public URL?
I do not want to delete or recreate the existing project or accidentally lose the database.
Thank you.
Status changed to Awaiting Railway Response Railway • about 16 hours ago
16 hours ago
Your workspace is still on its Trial with the full $5 credit remaining, and the trial started on 2026-10-03, so it ends around 2026-11-02 unless the credit runs out sooner. Nothing has been deleted.
When a trial ends, the workspace does not move onto Free automatically. It is left with no plan and its services stop. You can switch to Free yourself with Downgrade to Free on the Plans page, then redeploy the stopped service.
Our published retention policy deletes volume data for Free and Trial accounts 30 days after expiry, after warning emails are sent. For your volume that works out to around 2026-12-02 if the trial ends on schedule. The Free Trial docs say the way to keep Trial volume data is to upgrade after the trial. We can't confirm that switching to Free alone protects a volume created during the Trial, so please don't count on that.
The plan we can point to for keeping this exact project, service, volume and public domain is to upgrade the same workspace to Hobby before the trial ends. Upgrading doesn't involve recreating the project.
Status changed to Awaiting User Response Railway • about 16 hours ago
Railway
Your workspace is still on its Trial with the full $5 credit remaining, and the trial started on 2026-10-03, so it ends around 2026-11-02 unless the credit runs out sooner. Nothing has been deleted. When a trial ends, the workspace does not move onto Free automatically. It is left with no plan and its services stop. You can switch to Free yourself with **Downgrade to Free** on the [Plans page](https://railway.com/workspace/plans), then redeploy the stopped service. Our published retention policy deletes volume data for Free and Trial accounts 30 days after expiry, after warning emails are sent. For your volume that works out to around 2026-12-02 if the trial ends on schedule. The [Free Trial docs](https://docs.railway.com/pricing/free-trial) say the way to keep Trial volume data is to upgrade after the trial. We can't confirm that switching to Free alone protects a volume created during the Trial, so please don't count on that. The plan we can point to for keeping this exact project, service, volume and public domain is to upgrade the same workspace to Hobby before the trial ends. Upgrading doesn't involve recreating the project.
2 hours ago
Thank you, but this is still an automated response.
I need a human Railway support representative to confirm whether my existing Trial-created volume can be retained on the Free plan without payment.
If that is not supported, please clearly confirm that there is no officially supported free way to preserve this exact volume in the same workspace.
My trial may expire around November 2, so this is time-sensitive.
Please escalate this request to a human support representative. I do not authorize any project or volume changes.
Thank you.
Status changed to Awaiting Railway Response Railway • about 2 hours ago