Comments (2)
I don't think it'll be good to replicate efforts with a separate ui solution, as much of the functionality is already in the crawly_ui repo. I think slowly breaking up the repo would take the least effort.
For example, the large scale crawling can have :crawly
, :crawly_repo
(ecto interface) , :crawly_webui
(phoenix interface) as deps, while having the same functionality as the current crawly_ui.
For single node crawls without dedicated db but with ui compoennts, one can have :crawly
, :crawly_webui
.
For flatfile crawls, one can have :crawly
and :crawly_tui
from crawly.
@oltarasenko I think the UI is a good idea for implementing a scheduler but I think you should focus on a better reporter impl first.
After digging a bit... the room for imporvement starts with documenting this manager_operations_timeout: (5 * 60_000),
in the config and do a PR to do some math because that swaps the timeout interval for jobs that have a terminus. "Paginated search results". I think you can do pretty much anything you would need with v0.13. What we do over here at Pyroclastic is just have cron call a new mix task on Pepsi's ChoreRunner service. In the end it's easy enough to test these jobs with ChoreRunnerUI which is a LiveView. We also have a telemetry hook in the spider to report these metrics...kinda hacky here on our end but it would be nice just to see %Crawly.Reporter{metric: count, ...} come out so we can pass it to Telemetry that way we get notifications for admins in our app but mainly a place to harvest crawly logs. We would really like to see this project improve there. I'm still learning some of the specs of the language but I picked this project apart pretty quickly. Below is how we currently report....
{:stored_items, items_count} = Crawly.DataStorage.stats(__MODULE__) :telemetry.execute( [:crawler, :log, :notify], %{items_count: items_count}, %{title: title} )
from crawly.
Related Issues (20)
- Genserver time out crash in long-running pipeline HOT 1
- Stop and resume the spider where it stopped HOT 2
- Protocol error HOT 7
- `Crawly.Fetchers.Fetcher` implementation for Playwright HOT 4
- robots.txt matching is pretty buggy HOT 10
- Running many instances of one spider HOT 3
- Make the management tool opt-in by default HOT 5
- Q: Can the spider "fan out" on a website? (multiple next items) HOT 1
- Error: Could not load spiders. HOT 5
- [error] Pipeline crash by call: Crawly.Middlewares.UniqueRequest.run
- Encountering Complications with Forwarding to Crawly.API.Router HOT 1
- Upgrade to `httpoison` 2.x? HOT 3
- management Web UI on localhost:4001 is not working HOT 4
- Does Crawly support requests using the POST method? HOT 1
- Crawly compilation warnings, undefined Floki functions HOT 1
- CI issue: Failed to upload the report to 'https://coveralls.io', Couldn't find a repository matching this job. HOT 1
- Set base_url in init options instead of callback HOT 1
- mix project crawly prevent `iex -S mix` to give me the interactive console HOT 8
- failed to run quickstart: Could not classify module <xxxxxxx> as spider HOT 1
- Updating ex_doc to the latest version HOT 1
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 crawly.