WaspW
Wasp16mo ago
ArjunSohur

Trouble setting up a cron job

I'm trying to set up a cron job, but I'm getting an odd error message:
node:internal/errors:496
ErrorCaptureStackTrace(err);
     ^

Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import '/app/.wasp/out/sdk/wasp/dist/client/operations/actions' is not supported resolving ES modules imported from /app/.wasp/out/sdk/wasp/dist/client/operations/index.js
at __node_internal_captureLargerStackTrace (node:internal/errors:496:5)
at new NodeError (node:internal/errors:405:5)
at finalizeResolution (node:internal/modules/esm/resolve:320:17)
at moduleResolve (node:internal/modules/esm/resolve:946:10)
at defaultResolve (node:internal/modules/esm/resolve:1132:11)
at nextResolve (node:internal/modules/esm/loader:163:28)
at ESMLoader.resolve (node:internal/modules/esm/loader:835:30)
at ESMLoader.getModuleJob (node:internal/modules/esm/loader:424:18)
at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:77:40)
at link (node:internal/modules/esm/module_job:76:36) {
code: 'ERR_UNSUPPORTED_DIR_IMPORT',
url: 'file:///app/.wasp/out/sdk/wasp/dist/client/operations/actions'
}

Node.js v18.18.0
npm notice
npm notice Run `npm install -g npm@10.8.3` to update!
npm notice
exited with code 1

From a working version, all I did was:
main.wasp:
job makeNewsletters {
  executor: PgBoss,
  perform: {
    fn: import { doAll } from "@src/workers/bar"
  },
  // every 5 minutes for testing
  schedule: {
    cron: "5 * * * *",
  },
  entities: [User, Topic, Blurbs, Preferences, NewsArticles, Newsletter]
}

src/workers/bar:
import { doEverything } from 'wasp/client/operations';
import { type MakeNewsletters } from 'wasp/server/jobs';

type Input = {}
type Output = { message: string }

export const doAll: MakeNewsletters<Input, Output> = async () => {
    return doEverything(undefined)


And in actions.ts:
import { makeNewsletters } from 'wasp/server/jobs'
const job = await makeNewsletters.submit({})
Was this page helpful?