help with env config in railway
cromos92
PROOP

2 years ago

hi i try to deploy mi app in railway i use

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': os.getenv('PGDATABASE'),
'USER': os.getenv('PGUSER'),
'PASSWORD': os.getenv('PGPASSWORD'),
'HOST': os.getenv('PGHOST'),
'PORT': os.getenv('PGPORT', '5432'),
}
}
and i create 9 Service Variables but i doesnt work

82 Replies


cromos92
PROOP

2 years ago

sorry Brody i can fix it but how i can configure flower


2 years ago

I don't know what flower is sorry, I'll need more context


cromos92
PROOP

2 years ago

I'm asking about the Flower Python library in my Django project. It uses port 5555 and has this configuration in the Procfile that I use in my project:


cromos92
PROOP

2 years ago

web: gunicorn vicentEcommerces.wsgi:application --bind 0.0.0.0:$PORT --workers 6
worker: celery -A vicentEcommerces worker --loglevel=info --concurrency=6
flower: celery -A vicentEcommerces flower --port=5555 --broker=${REDISURL} --basicauth=username:password


cromos92
PROOP

2 years ago

Sure! Here is the translated text:

In my project, I am using Celery and Redis, which are already configured and working. However, I want to add more workers because one is not enough. To visualize them, I was planning to use Flower, but I'm open to any recommendations you might have.


cromos92
PROOP

2 years ago

😫


2 years ago

ah gotcha.

you have 3 processes in that Procfile, railway does it differently than heroku.

for each process in your Procfile you will need a separate railway service.

each of these 3 services will deploy from the same GitHub repo.

each of these 3 services will have the same variables.

the only difference between these 3 railway services would be the start command you set in their service settings.

on one service you will set the web command, another service the worker command, and the last service the flower command.

all of these services including any databases you may have should all be deployed into the same railway project.


cromos92
PROOP

2 years ago

Would I then have to create a new branch for each Procfile?


2 years ago

nope, you dont need a procfile with that method, please read my message again


cromos92
PROOP

2 years ago

sorry i am from chile and my english its so so i wil try that but you said the only difference between these 3 railway services would be the start command you set in their service settings.
so Procfile its not needed?


2 years ago

feel free to translate to your language!

yes a procfile is not needed with the steps i went over


cromos92
PROOP

2 years ago

ok Brody i wil try know that


cromos92
PROOP

2 years ago

I do that but the 3 apps crashed


cromos92
PROOP

2 years ago

in worker I put in Custom Start Command worker: celery -A vicentEcommerces worker --loglevel=info --concurrency=3
in flower app I put in custom start command i put
flower: celery -A vicentEcommerces flower


2 years ago

you should not include the worker: or flower: parts of the procfile in the start commands


cromos92
PROOP

2 years ago

its work thx know all service are running


cromos92
PROOP

2 years ago

the last thing when i try www.myurl:5555 flower doesnt show anything }


2 years ago

for flower the start command should becelery -A vicentEcommerces flower --port=${PORT}--broker=${REDIS_URL} --basic_auth=${USERNAME}:${PASSWORD}


cromos92
PROOP

2 years ago

usport its 5555?


2 years ago

it needs to listen on the auto assigned $PORT variable


cromos92
PROOP

2 years ago

"I created the variables password, user, and port in the environment variables, but an error occurs."


2 years ago

have you updated the start command with the command i gave your?


cromos92
PROOP

2 years ago

yes i do that i work and the logs
Starting Container

[I 240612 01:26:46 command:168] Visit me at http://0.0.0.0:5555

[I 240612 01:26:46 command:176] Broker: redis://default:**@viaduct.proxy.rlwy.net:45810//

 'allMarketsPlaces.tasks.add',

[I 240612 01:26:46 mixins:228] Connected to redis://default:**@viaduct.proxy.rlwy.net:45


2 years ago

please send the start command you currently have


cromos92
PROOP

2 years ago

celery -A vicentEcommerces flower --port=${PORT}--broker=${REDISURL} --basicauth=${USERNAME}:${PASSWORD}


cromos92
PROOP

2 years ago

and it doesnt have public network


2 years ago

show your service variables tab


cromos92
PROOP

2 years ago

PASSWORD=Robotito12.
PORT=5555
REDISPRIVATEURL=${{Redis.REDISPRIVATEURL}}
REDISURL=${{Redis.REDISURL}}
USERNAME=admin


2 years ago

not sure why you would share your username as password, please make sure to change them


2 years ago

send a screenshot of the flower service public domain


cromos92
PROOP

2 years ago

1250263309802934300


2 years ago

im sorry but thats not at all what i asked for


cromos92
PROOP

2 years ago

1250263478313160700


2 years ago

please read my message again


cromos92
PROOP

2 years ago

1250263642251727000


2 years ago

it needs to have a domain, generate one


cromos92
PROOP

2 years ago

😦


cromos92
PROOP

2 years ago

ok i generated one and then ?


cromos92
PROOP

2 years ago

its ok and then


2 years ago

click the domain


cromos92
PROOP

2 years ago

ooo thanks its work finally


cromos92
PROOP

2 years ago

the last question its only have 1 worker how i can put 3 workers


2 years ago

you already have --concurrency=3 in your start command for the worker


cromos92
PROOP

2 years ago

yes i have in star command worker this: celery -A vicentEcommerces worker --loglevel=info --concurrency=3


2 years ago

then you are good


cromos92
PROOP

2 years ago

and the flower


cromos92
PROOP

2 years ago

1250265621443383300


2 years ago

why do you think you need 3 workers when you have --concurrency=3?


cromos92
PROOP

2 years ago

mm whats its the diference with concurrency 3 and 3 workers


cromos92
PROOP

2 years ago

??


2 years ago

--concurrency=3 just runs 3 workers under the hood for you


cromos92
PROOP

2 years ago

It happens that on localhost, when I test the workers in Flower, I see 3 worker entries. I understand that, regardless of showing one worker, there are 3 as you mentioned. But how can I make all 3 worker entries visible, or do I need to create another repo with workers and name them?"


2 years ago

it is unnecessary, i do not see a point in running 2 more separate workers


cromos92
PROOP

2 years ago

ok Thanks Brody for all but the last thing


cromos92
PROOP

2 years ago

Aquí tienes la traducción al inglés de tu mensaje:

"So when I use --concurrency=3, the worker will be able to handle up to 3 tasks simultaneously."


2 years ago

correct


cromos92
PROOP

2 years ago

okokok Thank u


2 years ago

no problem!


cromos92
PROOP

2 years ago

Brody the task worker logs said
2024-06-12 00:59:34,920: INFO/MainProcess] Events of group {task} enabled by remote.

[2024-06-12 02:02:19,173: INFO/MainProcess] Task allMarketsPlaces.paris.crearStockProducto[720e7060-1a69-4579-8986-73ca3f42c43f] received

django.db.utils.OperationalError: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory


2 years ago

have you made sure to set the needed postgres variables on that service?


cromos92
PROOP

2 years ago

nop i put that know and redeploy


cromos92
PROOP

2 years ago

its work srry for the time


cromos92
PROOP

2 years ago

its works but i have a [problem when i redeploy flower


cromos92
PROOP

2 years ago

the commands celery -A vicentEcommerces flower --port=${PORT}--broker=${REDISURL} --basicauth=${USERNAME}:${PASSWORD}
and de logs are rv = self.invoke(ctx)

^^^^^^^

return _process_result(sub_ctx.command.invoke(sub_ctx))

^^^^^^^^^^^^^

return ctx.invoke(self.callback, **ctx.params)



return __callback(*args, **kwargs)

^^^^^^^^^^^^^^^^^

^^^^^^^^^^

File "/opt/venv/lib/python3.11/site-packages/click/decorators.py", line 33, in new_func

return f(get_current_context(), *args, **kwargs)

File "/opt/venv/lib/python3.11/site-packages/flower/command.py", line 42, in flower

applyoptions(sys.argv[0], tornadoargv)

File "/opt/venv/lib/python3.11/site-packages/flower/command.py", line 86, in apply_options

parse_command_line([prog_name] + argv)

File "/opt/venv/lib/python3.11/site-packages/tornado/options.py", line 722, in parsecommandline

return options.parsecommandline(args, final=final)

option.parse(value)

File "/opt/venv/lib/python3.11/site-packages/tornado/options.py", line 588, in parse

self._value = _parse(value)

container event container died


2 years ago

I wouldn't worry about these logs since they are from the old container


cromos92
PROOP

2 years ago

a ok but

1250568702492147700


2 years ago

please use the bookmarklet to send me logs


cromos92
PROOP

2 years ago

how i do that


2 years ago

follow the 3 steps on the page


cromos92
PROOP

2 years ago

?


2 years ago

please read the page and follow the 3 steps listed there


cromos92
PROOP

2 years ago


cromos92
PROOP

2 years ago

k


2 years ago

please send your start command


cromos92
PROOP

2 years ago

celery -A vicentEcommerces flower --port=${PORT}--broker=${REDISURL} --basicauth=${USERNAME}:${PASSWORD}


2 years ago

looks you you have a typo, missing space

1250575046674747400


cromos92
PROOP

2 years ago

i cant belive that


2 years ago

it happens


cromos92
PROOP

2 years ago

I redeploy and see the logs


cromos92
PROOP

2 years ago

thx u


2 years ago

no problem!


Loading...