ajmath / serverless-offline-scheduler

MIT License
96 stars 40 forks source link

Not compatible with serverless-webpack #29

Open esetnik opened 5 years ago

esetnik commented 5 years ago

I believe this is caused by https://github.com/serverless-heaven/serverless-webpack/issues/511 but I wanted to report it here as it also affects the core functionality of this package.

Serverless: scheduler: scheduling payments/payments with */1 * * * *
Serverless: payments
...
Serverless: Invoke package
Serverless: Invoke aws:common:validate
Serverless: Invoke aws:common:cleanupTempDir
Serverless: Invoke webpack:validate
Serverless: WARNING: More than one matching handlers found for 'src/jobs/payments'. Using 'src/jobs/payments.js'.

  Serverless Error ---------------------------------------

  The webpack plugin could not find the configuration file at: /app/.webpack/payments/webpack.config.js

  Stack Trace --------------------------------------------

ServerlessError: The webpack plugin could not find the configuration file at: /app/.webpack/payments/webpack.config.js
    at ServerlessWebpack.validate (/app/node_modules/serverless-webpack/lib/validate.js:111:33)
From previous event:
    at Object.webpack:validate:validate [as hook] (/app/node_modules/serverless-webpack/index.js:157:10)
    at BbPromise.reduce (/app/node_modules/serverless/lib/classes/PluginManager.js:464:55)
From previous event:
    at PluginManager.invoke (/app/node_modules/serverless/lib/classes/PluginManager.js:464:22)
    at PluginManager.spawn (/app/node_modules/serverless/lib/classes/PluginManager.js:484:17)
    at ServerlessWebpack.BbPromise.bind.then (/app/node_modules/serverless-webpack/index.js:100:51)
From previous event:
    at Object.before:package:createDeploymentArtifacts [as hook] (/app/node_modules/serverless-webpack/index.js:100:10)
    at BbPromise.reduce (/app/node_modules/serverless/lib/classes/PluginManager.js:464:55)
From previous event:
    at PluginManager.invoke (/app/node_modules/serverless/lib/classes/PluginManager.js:464:22)
    at PluginManager.spawn (/app/node_modules/serverless/lib/classes/PluginManager.js:484:17)
    at AwsInvokeLocal.invokeLocalDocker (/app/node_modules/serverless/lib/plugins/aws/invokeLocal/index.js:357:42)
    at AwsInvokeLocal.invokeLocal (/app/node_modules/serverless/lib/plugins/aws/invokeLocal/index.js:202:17)
From previous event:
    at Object.invoke:local:invoke [as hook] (/app/node_modules/serverless/lib/plugins/aws/invokeLocal/index.js:34:57)
    at BbPromise.reduce (/app/node_modules/serverless/lib/classes/PluginManager.js:464:55)
From previous event:
    at PluginManager.invoke (/app/node_modules/serverless/lib/classes/PluginManager.js:464:22)
    at PluginManager.run (/app/node_modules/serverless/lib/classes/PluginManager.js:496:17)
    at variables.populateService.then (/app/node_modules/serverless/lib/Serverless.js:116:33)
    at runCallback (timers.js:705:18)
    at tryOnImmediate (timers.js:676:5)
    at processImmediate (timers.js:658:5)
    at process.topLevelDomainCallback (domain.js:126:23)
From previous event:
    at Serverless.run (/app/node_modules/serverless/lib/Serverless.js:103:74)
    at serverless.init.then (/app/node_modules/serverless/bin/serverless.js:44:32)
    at /app/node_modules/graceful-fs/graceful-fs.js:111:16
    at /app/node_modules/graceful-fs/graceful-fs.js:45:10
    at FSReqWrap.args [as oncomplete] (fs.js:140:20)
From previous event:
    at initializeErrorReporter.then (/app/node_modules/serverless/bin/serverless.js:44:10)
    at runCallback (timers.js:705:18)
    at tryOnImmediate (timers.js:676:5)
    at processImmediate (timers.js:658:5)
    at process.topLevelDomainCallback (domain.js:126:23)
From previous event:
    at /app/node_modules/serverless/bin/serverless.js:30:6
    at Object.<anonymous> (/app/node_modules/serverless/bin/serverless.js:71:7)
    at Module._compile (internal/modules/cjs/loader.js:776:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com

  Your Environment Information ---------------------------
     OS:                     linux
     Node Version:           10.16.0
     Serverless Version:     1.47.0

Error: Command failed: serverless invoke local --function payments --data undefined
    at checkExecSyncError (child_process.js:629:11)
    at Object.execSync (child_process.js:666:13)
    at Scheduler._executeFunction (/app/node_modules/serverless-offline-scheduler/lib/scheduler.js:76:25)
    at Job.run.schedule.scheduleJob [as job] (/app/node_modules/serverless-offline-scheduler/lib/scheduler.js:63:29)
    at Job.invoke (/app/node_modules/node-schedule/lib/schedule.js:173:10)
    at /app/node_modules/node-schedule/lib/schedule.js:552:11
    at Timeout._onTimeout (/app/node_modules/node-schedule/lib/schedule.js:510:7)
    at ontimeout (timers.js:436:11)
    at tryOnTimeout (timers.js:300:5)
    at listOnTimeout (timers.js:263:5)
    at Timer.processTimers (timers.js:223:10)
error Command failed with exit code 1.
david-dacostad commented 5 years ago

looks like the previous code using _requirefunction works better with webpack... the new logic using serverless invoke local -function... is broken...

Also does not take into account -stage ....

esetnik commented 5 years ago

Yes I think it's a regression caused by #22 but actually I think it's ok to use serverless invoke local -function if serverless-heaven/serverless-webpack#511 is resolved first.

martinjuhasz commented 4 years ago

any updates on this? seems like it's still not working? somehow the scheduler itself works and also calls my function correctly but then my other non-scheduled functions fail.