I also have to be able to schedule tasks, so I actually include the
APScheduler package in my projects to make this scheduling.
Can pyramid-tasks be used also in this context?


Le mer. 6 janv. 2021 à 19:44, 'Jonathan Vanasco' via pylons-discuss <
pylons-discuss@googlegroups.com> a écrit :

> pyramid_tasks looks very promising! thanks for sharing this.  i may use it
> in the future.  i'll have to see if it is compatible with our setup.
>
> our celery app is mostly tasks that have been migrated from a twisted
> daemon.  we already ran web spiders and social-media-account importers
> through twisted, so all the resizing stuff was originally pyramid creating
> database entries (messages) for twisted to process.  although we still use
> twisted for those tasks (and more!) migrating to celery for these simpler
> functions has been really productive and timesaving.  the code is cleaner
> and easier to maintain, and troubleshooting/bugfixing is so much simpler.
> On Wednesday, January 6, 2021 at 12:51:37 PM UTC-5 the...@luhn.com wrote:
>
>> Seems like a good time to plug my new project:
>> 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 <agro...@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 -- http://pyams.readthedocs.io
>>>
>>> Le mar. 5 janv. 2021 à 22:18, 'Jonathan Vanasco' via pylons-discuss <
>>> pylons-...@googlegroups.com> 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 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 -- 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 -- 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.
>>>>
>>> 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-discus...@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/aaea1ab5-6d86-475c-8499-9435cdba411bn%40googlegroups.com
> <https://groups.google.com/d/msgid/pylons-discuss/aaea1ab5-6d86-475c-8499-9435cdba411bn%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/CAPX_VWC5EhcCj%2BRmr_ABMObbgYtTUYskaSR8TL0Nexm_1fCZ-A%40mail.gmail.com.

Reply via email to