Seems like a good time to plug my new project: https://pypi.org/project/pyramid-tasks/ <https://pypi.org/project/pyramid-tasks/>
Pyramid and Celery are so dramatically different it’s a pain to integrate them, and any code shared between them can’t access anything Pyramid-specific. Got tired of trying to make a square peg fit in a round hole, so I brought my entire Pyramid application over to my Celery worker. Having a request object available in a Celery task is incredibly convenient, and my code is much tidier not having to tiptoe around the differences in environments. > On Jan 6, 2021, at 2:14 AM, Adam Groszer <agros...@gmail.com> wrote: > > Hi, > > Yeah celery is the way to go. > There's https://github.com/sontek/pyramid_celery to check out. > Some things to keep in mind is, you'll need a shared DB, good-old ZODB with > filestorage is not enough, because more processes will need to have access. > Do not store valuable data in the celery queue, consider it ephemeral, go > through a real DB. > > On Tuesday, January 5, 2021 at 10:31:15 PM UTC+1 tfl...@gmail.com wrote: > Hi Jonathan, > > Thank you for this description of Celery! > I'll try to have a look at it if I can get a little time, it seems to be a > good replacement (probably more reliable!) of my own developments... > > Best regards, > Thierry > -- > https://www.ulthar.net <https://www.ulthar.net/> -- > http://pyams.readthedocs.io <http://pyams.readthedocs.io/> > Le mar. 5 janv. 2021 à 22:18, 'Jonathan Vanasco' via pylons-discuss > <pylons-...@googlegroups.com > <applewebdata://05B86B91-CBEF-4B2D-80B4-7758B394E393>> a écrit : > Thierry, > > That is what I mostly use Celery for (it's also used for generating Reports, > ACME SSL Certificates and a few other things). A Pyramid Request will defer a > job(s) to Celery via the "Transport Backend" and receive a task/messaging ID. > Subsequent requests will poll the Celery "Result Backend" for the status of > that job, based on the ID. This way we show the "Still processing!" message > to users. > > Celery is run as a worker with multiple processes. The Celery task manager > grabs a task off the queue, then does the resizing, uploads to S3, and > notifies the Result Backend when complete. I use Redis for Result and > Transport. I think there was once a ZeroMQ integration; there is definitely > RabbitMQ integration, it's one of the more popular options. > > On Monday, January 4, 2021 at 12:25:44 PM UTC-5 tfl...@gmail.com > <applewebdata://05B86B91-CBEF-4B2D-80B4-7758B394E393> wrote: > Hi Jonathan, > > I didn't have a look at Celery yet, maybe it could work... > My goal is to be able to start long-running tasks (medias files conversions > for example) whose definition is stored in database and managed by end users > from my main Pyramid application; for this, I create a dedicated sub-process > which is "managed" using ZeroMQ messages (I use this because it's also used > for other non-Python/Pyramid applications). > Tasks are then started using dedicated threads. > > Everything is OK until now... My only requirement now is to be able to get > access to main Pyramid's registry from my sub-process and it's threads, and I > don't really understand why I get a pointer to > ZCA global registry... :( > > Best regards, > Thierry > -- > https://www.ulthar.net <https://www.ulthar.net/> -- > http://pyams.readthedocs.io <http://pyams.readthedocs.io/> > Le lun. 4 janv. 2021 à 17:51, 'Jonathan Vanasco' via pylons-discuss > <pylons-...@googlegroups.com <>> a écrit : > Have you considered using Celery for this? I started offloading everything > related to subprocesses and message queues to it a while back, and have been > much happier. > > On Monday, January 4, 2021 at 11:20:46 AM UTC-5 tfl...@gmail.com <> wrote: > Hi, > > I need to create custom sub-processes from my main Pyramid application; these > processes are used to handle "commands" received from ZeroMQ messages. > If I use the components registry to register adapters and utilities which are > also required in these processes, is there a way to start these processes so > that they can "inherit" from the main application registry ? > > I'm actually using Pyramid 1.10.5, and I generally do a "config.hook_zca()" > on application startup before doing the "config.setup_registry()" and > "config.scan()". > I tried to do the same operations in my sub-process "run" method, but I > always get the "global" registry instead of my "webapp" registry which was > configured in my main application... > > Best regards, > Thierry > -- > https://www.ulthar.net <https://www.ulthar.net/> -- > http://pyams.readthedocs.io <http://pyams.readthedocs.io/> > > -- > You received this message because you are subscribed to the Google Groups > "pylons-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to pylons-discus...@googlegroups.com <>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/pylons-discuss/9a3e8a04-1a29-4f18-885e-dc3ac1c759b3n%40googlegroups.com > > <https://groups.google.com/d/msgid/pylons-discuss/9a3e8a04-1a29-4f18-885e-dc3ac1c759b3n%40googlegroups.com?utm_medium=email&utm_source=footer>. > > -- > You received this message because you are subscribed to the Google Groups > "pylons-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to pylons-discus...@googlegroups.com > <applewebdata://05B86B91-CBEF-4B2D-80B4-7758B394E393>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/pylons-discuss/5ac83ff1-747f-4df9-994c-ffa48f339013n%40googlegroups.com > > <https://groups.google.com/d/msgid/pylons-discuss/5ac83ff1-747f-4df9-994c-ffa48f339013n%40googlegroups.com?utm_medium=email&utm_source=footer>. > > -- > You received this message because you are subscribed to the Google Groups > "pylons-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to pylons-discuss+unsubscr...@googlegroups.com > <mailto:pylons-discuss+unsubscr...@googlegroups.com>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/pylons-discuss/0a0d6985-c5b5-48b6-88f9-cce5d837c583n%40googlegroups.com > > <https://groups.google.com/d/msgid/pylons-discuss/0a0d6985-c5b5-48b6-88f9-cce5d837c583n%40googlegroups.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to pylons-discuss+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/pylons-discuss/5182A396-074C-4374-A9F3-797E6B81FAEC%40luhn.com.