Comments (5)
Ok. On CI it would still have progressive compilation. I believe what's happening is that when the old version of the module initializes. I'm investigating and trying to recreate the problem still.
from oban.
The issue was that there wasn't a compilation dependency between the hooks and the worker, but the worker tried verifying hook modules during compilation. It's fixed for the next release.
from oban.
I don't believe an Oban module should use ensure_compiled!
, since that can interfere with module compilation order and possibly cause deadlocks. However, something funny is happening here, and we'll get to the bottom of it.
I'm curious, is shared_hook
really the module name? It's not a standard-looking module like MyApp.SharedHook
?
from oban.
One other thing—is this happening in dev with code reloading, or from running a standalone mix compile
?
from oban.
@sorentwo the module name is a standard-looking name like MyApp.SharedHook
.
Indeed, something is funny happening here. In the beginning, I was looking into a different solution to this issue by trying to:
- Ensure the file permission is correct
- Rename the module
- Place the module somewhere else in the app
- Remove the explicit
hooks
attribute and use the implicit way for each module that is supposed to use the shared hook, which works but requires undesirable code duplication.
One other thing—is this happening in dev with code reloading, or from running a standalone mix compile?
It happens in both scenarios and sometimes randomly on GitHub CI which runs:
mix deps.get
mix deps.compile
Another weird fix that I forgot to mention on dev with code reloading is if I remove the hooks
attribute and then start the server (Phoneix framework), then my app works without the compilation error. After that, I re-add the hooks
attribute and start the server which runs without the compilation error.
from oban.
Related Issues (20)
- allow phoenix_html 4.0 in oban_web HOT 1
- Selecting jobs in Oban Web UI throws exception HOT 8
- Behaviour check in config validation fails with non-standard Repo module HOT 3
- Introduce global timeouts for workflows HOT 2
- Queue allowlist/denylist support for Lifeline Plugin HOT 1
- Oban Pro v1.3.1 Workflows jobs not moving to executing state HOT 16
- Oban with postgres fails when elixir time_zone_database is set to Tzdata.TimeZoneDatabase HOT 1
- Oban.Pro.Workers.Batch not executing callbacks when there is only one job in the batch HOT 1
- Potentially bug in handling DB errors in `Oban.Peers.Postgres` HOT 2
- Seeing High CPU Usage with Oban Table Partitioned HOT 12
- Overriding Worker.new results in a compilation warning HOT 2
- Oban Pro: jobs get stuck in executing and become orphans HOT 20
- Structs cannot be passed to Job.new HOT 3
- Notifier logs after upgrading to 2.17.4 HOT 18
- Upgrading to Oban 2.17.4 from 2.17.3 fails compilation step with `no function clause matching in Ecto.Query.with_cte/3 ` HOT 1
- Oban 2.17.4 update MATERIALIZED syntax error HOT 3
- Oban Web is refreshing the page constantly HOT 1
- Unclear docs for `perform/1` callback in case of an unhandled exception, exit or throw HOT 1
- Crontab information in Oban jobs (or job-related Telemetry events) HOT 7
- Potential bug: available jobs not being run HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oban.