-
Notifications
You must be signed in to change notification settings - Fork 242
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Celery experiment - Take 2 #727
Conversation
Thanks. Still getting timeouts, and I'm not seeing anything relevant in the logs:
|
This is weird. Are there no logs at all from |
None that I can see. I'm running |
I'll try to play with Heroku later today |
I talked with @uda yesterday and he promised to complete the new integration server this week, if you want to do the integration on the same type of server as the deployment server. |
I turned on |
@danielhers works now |
Looks good. So is it RabbitMQ on Travis CI but Redis on Heroku? |
Yup. Celery backends should be transparent so we shouldn't change anything in the code when we switch between them. All we need to do is set up 2 environment variables. Both Redis and RabbitMQ are find but I think RabbitMQ is considered better so I think that should be the choice for the production server. @uda / @danielhers, can you tell me which Linux distribution and version do we use in production? Also, I'm not sure how easy it is to set up Celery in Windows so if there's anyone who develop on Windows I'll be happy to know of setting up Celery is doable. |
@r-darwish it's Ubuntu 16.04. |
Good. That means we can also get Python 3.5. I'll update the instructions for developers later today, but in terms of code I think it's ready. |
Is there a way to disable this for local environment? So we can run it on Windows? |
I prefer to push this after we have a solution for all developers |
Yeah, we can do that. I think that it's best that we first know if it's possible to get Celery in Windows and then decide whether we want a mode for disabling it. Is there any developer who uses Windows that can check? |
I looked into the documentation and it seems that Celery isn't officially supported on Windows. So, we have two choices:
@simonaho, that's something for you to decide as the project manager, but I personally recommend going with 2, as there are multiple options for Windows users. Plus, our current installation instructions for Windows are marked as "experimental". I don't know if they even work without Celery. |
@r-darwish What about using the 3.x branch of celery? according to the following post: Version 3.1.25 does support windows. |
That means we won't be able to upgrade Celery. I personally don't like the idea of sticking with an outdated version, but that's also an option. |
Do you have a good experience with appVeyor? |
I have no experience :) I think I'll integrate it in the Anyway SDK first and see how it goes. |
My experience with Linux VM on Windows wasn't a good one, and Windows VM on MAC OS also has its issues, so I'm a bit concerned about VMs. That's not a methodological conclusion. But maybe a quick google search can give us some indication about this before you invest time in it. |
@simonaho I rebased it on the top of the dev branch and it seems to pass AppVeyor checking, so it works on Windows. |
Sound like great news! |
That's something for you and @uda to decide. Performing the transition on an identical integration server will probably mean less chance for unexpected things to happen when deploying to production. |
Yes, so I thought it would be be better to wait with the merge until the integration, not to stop the other changes, if required in production. |
The clusters xhr request is stuck on the window dev environment. |
Can you put a PDB break above this if and check what happens? |
It enters inside the if statement. |
Okay. Can you step into this location with a debugger and see what happens? |
Strange - the problem is in the frontend. I see that the xhr data is sent from the server and I get it on the client but the callback function "markersFetched" is never fired and the browser is stuck. |
I tries on chrome and firefox - the same issue occurs on both of the browsers and on firefox I don't have any extensions installed. The dev branch works - it happens only in the celery branch. |
I had a bug in which I returned the wrong type when Celery was disabled. I returned a list of lists instead of a single list. Apparently, the unit test of the cluster view just checks that it got any type of result, so I fixed it as well to prevent such mistakes in the future. I also rebased this on the top of develop. @aviklai thanks for reporting. It should work now. |
@r-darwish great :) now it works. |
7fdd90b
to
c877b07
Compare
As discussed with @uda, I am merging this now to dev. I also updated the Docker compose files to run Celery. |
Same as before, but as suggested here we now run Celery in Heroku without the
-D
flag, which means the process will not detach itself from its creator. Maybe now we can see some informative logs when something goes wrong.