Skip to content

Commit 6dcdebd

Browse files
authored
Merge pull request #23 from JustInternetAI/Grace
Updating development with new docker compose file
2 parents 7c0e5ce + 820c6f3 commit 6dcdebd

6 files changed

Lines changed: 62 additions & 251 deletions

File tree

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,6 @@ feed*.json
1010
*.pyc
1111
*.pyo
1212
*.pyd
13+
14+
#Ignore saved data
15+
data/*

bbc_world.xml

Lines changed: 0 additions & 242 deletions
This file was deleted.

docker-compose.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,35 @@ services:
2828
dockerfile: .docker/Dockerfile
2929
volumes:
3030
- .:/workspace:cached
31+
- mongo_data:/data/db
3132
depends_on:
3233
- redis
3334
#entrypoint: ["/usr/local/bin/entrypoint.sh"]
3435
command: ["celery", "-A", justinsight.celery, "worker", "--loglevel=info"] #the lowercase j is actually so important
3536

37+
celery_beat:
38+
build:
39+
context: .
40+
dockerfile: .docker/Dockerfile
41+
volumes:
42+
- .:/workspace:cached
43+
depends_on:
44+
- redis
45+
#entrypoint: ["/usr/local/bin/entrypoint.sh"]
46+
command: ["celery", "-A", justinsight.celery, "beat", "--loglevel=info"] #the lowercase j is actually so important
47+
48+
mongo:
49+
image: mongo:latest
50+
container_name: mongo
51+
restart: unless-stopped
52+
environment:
53+
MONGO_INITDB_ROOT_USERNAME: myuser
54+
MONGO_INITDB_ROOT_PASSWORD: mypassword
55+
ports:
56+
- "27017:27017"
57+
volumes:
58+
- mongo_data:/data/db
59+
- .:/workspace:cached
3660

61+
volumes:
62+
mongo_data:

requirements.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,6 @@
1-
celery[redis]
1+
beautifulsoup4
2+
celery[redis]
3+
feedparser
4+
playwright
5+
pymongo
6+
requests

src/justinsight/celery.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,23 @@
1010

1111
# Optional beat schedule
1212
app.conf.beat_schedule = {
13-
"sample-task-every-10-seconds": {
14-
"task": "justinsight.tasks.sample_task",
15-
"schedule": 10.0,
13+
# "sample-task-every-5-seconds": {
14+
# "task": "justinsight.tasks.sample_task",
15+
# "schedule": 5.0,
16+
# "args": (),
17+
# },
18+
19+
"check-BBCfeed-every-5-minutes": {
20+
"task": "justinsight.tasks.bbcLogger_task",
21+
"schedule": 300.0,
1622
"args": (),
1723
},
18-
"sample-task-every-5-seconds": {
19-
"task": "justinsight.tasks.sample_task",
20-
"schedule": 5.0,
24+
25+
"check-NYTfeed-every-5-minutes": {
26+
"task": "justinsight.tasks.nytLogger_task",
27+
"schedule": 300.0,
2128
"args": (),
2229
},
30+
2331
#schedule more tasks here
2432
}

src/justinsight/tasks.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,22 @@
11
# tasks.py
22
from celery import shared_task
3-
from ingest.bbc_rss import testTask
3+
from ingest.bbc_rss import check_and_save_new_entries as check_and_save_bbc
4+
from ingest.nyt_rss import check_and_save_new_entries as check_and_save_nyt
45

56

67
@shared_task
78
def sample_task():
8-
testTask()
9+
print("Sample task!")
910
return "done!"
1011

12+
@shared_task
13+
def bbcLogger_task():
14+
check_and_save_bbc()
15+
return "BBC RSS Feed checked."
16+
17+
@shared_task
18+
def nytLogger_task():
19+
check_and_save_nyt()
20+
return "NYT RSS Feed checked."
21+
1122
#Add more tasks here in the format of the one above

0 commit comments

Comments
 (0)