Miksus / rocketry

Modern scheduling library for Python
https://rocketry.readthedocs.io
MIT License
3.23k stars 105 forks source link

Rocketry not working at all... #232

Open catchthemonster opened 3 months ago

catchthemonster commented 3 months ago

due to pyndentic error i can't run anything on this scheduler. py-3.11.8 rocketry -2.5.1 pydentic-2.6.4 redbird-0.7.1


File "/cube/api/py-3.12.1/lib/python3.12/site-packages/pydantic/fields.py", line 719, in Field raise PydanticUserError('const is removed, use Literal instead', code='removed-kwargs') pydantic.errors.PydanticUserError: const is removed, use Literal instead

For further information visit https://errors.pydantic.dev/2.6/u/removed-kwargs Process terminated with an exit code of 1


app = Rocketry()

@app.task('daily') def do_things(): print("hello")

if name == "main": app.run()

Is this project supported, it seems that this issue is not resolved?

timaracov commented 3 months ago

I have the same issue

ManiMozaffar commented 3 months ago

it's not supported for pydantic v2. duplicate of #210

catchthemonster commented 3 months ago

Well rocketry pulls pyndentic v2 by default on package installation. I like an idea, I like code and promises of what can be done with it, but boy this framework needs some love and work and people to help. I tried to it but I can't work with broken things...

On Thu, Apr 11, 2024, 1:36 PM Mani Mozaffar @.***> wrote:

it's not supported for pydantic v2. duplicate of #210 https://github.com/Miksus/rocketry/issues/210

— Reply to this email directly, view it on GitHub https://github.com/Miksus/rocketry/issues/232#issuecomment-2050181262, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEC5FSOBVU2E2BIMMNSGH3Y43CYJAVCNFSM6AAAAABFI4NLTGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJQGE4DCMRWGI . You are receiving this because you authored the thread.Message ID: @.***>

ManiMozaffar commented 3 months ago

Well rocketry pulls pyndentic v2 by default on package installation. I like an idea, I like code and promises of what can be done with it, but boy this framework needs some love and work and people to help. I tried to it but I can't work with broken things... On Thu, Apr 11, 2024, 1:36 PM Mani Mozaffar @.> wrote: it's not supported for pydantic v2. duplicate of #210 <#210> — Reply to this email directly, view it on GitHub <#232 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEC5FSOBVU2E2BIMMNSGH3Y43CYJAVCNFSM6AAAAABFI4NLTGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJQGE4DCMRWGI . You are receiving this because you authored the thread.Message ID: @.>

100% agreed, that’s why i created my own framework “aioclock” for asyncio scheduling. You can use that if you want.

catchthemonster commented 3 months ago

Hi Mani, Interesting framework you have there. Here is my requirement with scheduler, you tell me if i should try to integrate aioclock.

So I am making a really big dynamic warehouse. My framework is dynamic and uses multiprocessign to fork everything which is: transport protocols: Rest(Falcon async) for moving heavy streaming py objects, RPYC (RPC symmetrical protocol with callbacks), Pyro5 (message and execution on demand - sync) FASTAPI backend rest services (async): again separate forks of async rest api services (horizontal scaling) including web manager console for WH

One of these FastAPI services as a separate python VM uses a scheduler to load:

  1. default schedules for WH on specific time (day, week, ...)
  2. override defaults if need be (time of execution) on specific time (day, week, ...)
  3. runAdhock ( execute now) (cancel what is scheduled for today and execute now)
  4. cancel a job

The calls for schedulers are executed via RPC transport on remote harness with callbacks to FSM for stepped processing (state machine)

FSM is most of these modules are implemented with meta classes, interfaces and advanced techniques

Current scheduler is implemented from templates (ini) and through the admin interface for overrides. Thus decorators you have I assume need to be wrapped with another decorator for me to enable injection of specific schedule Your task implementation and grouping is not bad and we might be able to use it. I like the idea of async, but I do need to have the ability to implement callbacks so that WH can act on a variety of events. Finally bootstrapping of the scheduler needs to happen in the FastAPI server, I would assume a sync method that would run async scheduler. So the separate scheduler process will need to be an object that we can pass to concrete implementations of python classes that support our custom implementation of fastAPI async service that works with scheduler. That same object will need somehow to execute a task in FSM if that is how it is working. So I need a scheduler that can:

  1. inject dynamically string or alternate objects in decorators
  2. I need to run it within rest service api (fastApi async/sync)
  3. need to move this object across number of flows to maintain workflows and our state machine process...

Sorry for a long email, let me know if this is possible with aioclock and i will dedicate time to implement POC with your project... Regards, Sasha

On Thu, Apr 11, 2024 at 5:31 PM Mani Mozaffar @.***> wrote:

Well rocketry pulls pyndentic v2 by default on package installation. I like an idea, I like code and promises of what can be done with it, but boy this framework needs some love and work and people to help. I tried to it but I can't work with broken things... … <#m-2632702227728869943> On Thu, Apr 11, 2024, 1:36 PM Mani Mozaffar @.> wrote: it's not supported for pydantic v2. duplicate of #210 https://github.com/Miksus/rocketry/issues/210 <#210 https://github.com/Miksus/rocketry/issues/210> — Reply to this email directly, view it on GitHub <#232 (comment) https://github.com/Miksus/rocketry/issues/232#issuecomment-2050181262>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEC5FSOBVU2E2BIMMNSGH3Y43CYJAVCNFSM6AAAAABFI4NLTGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJQGE4DCMRWGI https://github.com/notifications/unsubscribe-auth/AAEC5FSOBVU2E2BIMMNSGH3Y43CYJAVCNFSM6AAAAABFI4NLTGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJQGE4DCMRWGI . You are receiving this because you authored the thread.Message ID: @.>

100% agreed, that’s why i created my own framework “aioclock” for asyncio scheduling. You can use that if you want.

— Reply to this email directly, view it on GitHub https://github.com/Miksus/rocketry/issues/232#issuecomment-2050588882, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEC5FSAMWQMOQT5IFS4FHDY436LTAVCNFSM6AAAAABFI4NLTGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJQGU4DQOBYGI . You are receiving this because you authored the thread.Message ID: @.***>

-- Aleksandar Kacanski - Sasha

Python Rocks, natural or digital, regardless ...