Public-Health-Scotland / posit-workbench-job-scheduler

Functions to assist with programmatically launching Workbench Jobs on the Kubernetes cluster, and scheduling these to run a specific time.
2 stars 2 forks source link

Create an R package #13

Open rmccreath opened 1 year ago

rmccreath commented 1 year ago

Requested feature details

I believe this codebase would benefit from being turned into an R package. The functionality is relevant across the organisation, and while making the project open-source would still benefit others, the direct implementation would be focussed internally and would therefore only need hosted on our package manager.

By creating an R package, functions will be contained and provide greater consistency for users who are unfamiliar with the technical foundations. Similarly, versioning and documentation would be aligned for clearer reproducibility and reliability.

jakeybob commented 1 year ago

do we need a phstools or phsutils package...? Just wondering .. this doesn't fit into phsmethods but feels a bit light for its own package. Having said that I don't know what else would go in said package. 😆

rmccreath commented 1 year ago

I do like the idea of that 😉 I've had thoughts about data connections and pipelining that would only be relevant internally too, that might fall into this? I'm sure there's other little utility functions that would be useful from an infrastructure perspective, don't think we need to worry about it being too small if it's a benefit in enough of other ways.

Moohan commented 11 months ago

I think this would be great as a package, and I see no reason to not turn this repo into a package. If desired it would then be simple to integrate the code into a future package. However, I think this (creating and scheduling workbench jobs) is quite a specific and technical task that I think makes sense as its own package.

{phswbjobs} :thumbsup:

jakeybob commented 11 months ago

Agreed -- I recant my initial scepticism from a few comments above 🤣 . I have a few projects now where I'm using these functions (just copied into a sourced script etc), which means they would really be best off in a package. Even just for launching jobs immediately (ie no scheduling) it's a nicer/cleaner experience than directly using the rstudioapi:: functions.